<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:0e6015a9-5e59-4bd8-a45d-6865b47ed07b(ASN.constraints)">
  <persistence version="3" />
  <refactoringHistory />
  <language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
  <language namespace="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" />
  <language namespace="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" />
  <language namespace="da8ceeba-3b3b-4979-995d-22ce7774e01d(ASN)" />
  <language namespace="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1(jetbrains.mps.lang.constraints)" />
  <language namespace="13744753-c81f-424a-9c1b-cf8943bf4e86(jetbrains.mps.lang.sharedConcepts)" />
  <language namespace="760a0a8c-eabb-4521-8bfd-65db761a9ba3(jetbrains.mps.baseLanguage.logging)" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902bc(jetbrains.mps.lang.sharedConcepts.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590307(jetbrains.mps.lang.constraints.constraints)" version="9" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902c1(jetbrains.mps.baseLanguage.constraints)" version="83" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590283(jetbrains.mps.lang.core.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959030d(jetbrains.mps.lang.constraints.structure)" version="8" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ba(jetbrains.mps.lang.sharedConcepts.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959028c(jetbrains.mps.lang.structure.constraints)" version="11" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902db(jetbrains.mps.baseLanguage.blTypes.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902fb(jetbrains.mps.lang.smodel.constraints)" version="21" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959034b(jetbrains.mps.lang.quotation.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590334(jetbrains.mps.baseLanguage.closures.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590328(jetbrains.mps.baseLanguage.collections.constraints)" version="6" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959033d(jetbrains.mps.lang.annotations.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ae(jetbrains.mps.lang.typesystem.constraints)" version="17" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590340(jetbrains.mps.lang.pattern.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959029e(jetbrains.mps.lang.editor.structure)" version="32" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590298(jetbrains.mps.lang.editor.constraints)" version="21" />
  <languageAspect modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959057f(jetbrains.mps.baseLanguage.logging.structure)" version="0" />
  <devkit namespace="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
  <maxImportIndex value="13" />
  <import index="1" modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <import index="2" modelUID="f:java_stub#java.lang(java.lang@java_stub)" version="-1" />
  <import index="5" modelUID="f:java_stub#jetbrains.mps.smodel.search(jetbrains.mps.smodel.search@java_stub)" version="-1" />
  <import index="7" modelUID="f:java_stub#jetbrains.mps.smodel(jetbrains.mps.smodel@java_stub)" version="-1" />
  <import index="9" modelUID="f:java_stub#java.util(java.util@java_stub)" version="-1" />
  <import index="10" modelUID="f:java_stub#org.jetbrains.annotations(org.jetbrains.annotations@java_stub)" version="-1" />
  <import index="11" modelUID="f:java_stub#jetbrains.mps.util(jetbrains.mps.util@java_stub)" version="-1" />
  <import index="12" modelUID="r:00000000-0000-4000-0000-011c89590282(jetbrains.mps.lang.core.behavior)" version="-1" />
  <visible index="2" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" />
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1678051738090550274">
    <property name="package" value="ModuleDefinition" />
    <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1678051738090550275">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1678051738090550276">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1678051738090550277">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1678051738090649484">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1678051738090750037">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1678051738090750032">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1678051738090750031" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4534048328790257247">
                  <link role="link" targetNodeId="1.4534048328789038339" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1678051738091781271">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1678051738090750042">
    <property name="package" value="ModuleDefinition" />
    <link role="concept" targetNodeId="1.1678051738089008238" resolveInfo="ModuleIdentifier" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1678051738090750043">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198626">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198627">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8514903112316198628">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198632">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198631" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198636">
                <link role="property" targetNodeId="1.8514903112316198625" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198637">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198638">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198639">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198646">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198649" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198641">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198640" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198645">
                  <link role="property" targetNodeId="1.8514903112316198625" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <visible index="3" modelUID="r:c1f894d1-f3b9-4d18-a511-78be0ad50d06(ASN.behavior)" />
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="5108187754399117510">
    <property name="package" value="ModuleDefinition" />
    <link role="concept" targetNodeId="1.5108187754399117501" resolveInfo="ImportAssignmentReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="5108187754399117511">
      <link role="applicableLink" targetNodeId="1.5108187754399117502" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="5108187754399117512">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5108187754399117513">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5108187754399117514">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5108187754399117515">
              <property name="name" value="result" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="5108187754399117516" />
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5108187754399117518">
                <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="5108187754399121141">
                  <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="5108187754399121142" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5108187754399492679">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5108187754399492680">
              <property name="name" value="symbolsFromModule" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5108187754399492681">
                <link role="concept" targetNodeId="1.7401774347124946824" resolveInfo="SymbolsFromModule" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.CastExpression" id="5108187754401550045">
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5108187754401550046">
                  <link role="concept" targetNodeId="1.7401774347124946824" resolveInfo="SymbolsFromModule" />
                </node>
                <node role="expression" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="5108187754401550048" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5108187754401350007">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5108187754401350008">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5108187754401350009">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5108187754401350017">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5108187754401350012">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5108187754401350011">
                    <link role="variableDeclaration" targetNodeId="5108187754399492680" resolveInfo="symbolsFromModule" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5108187754401350016">
                    <link role="link" targetNodeId="1.7401774347124946837" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5108187754401350021">
                  <link role="link" targetNodeId="1.5108187754398628334" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5108187754399121185">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5108187754399121187">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5108187754399121186">
                <link role="variableDeclaration" targetNodeId="5108187754399117515" resolveInfo="result" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="5108187754399121191">
                <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408162313195">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5108187754401350027">
                    <link role="variableDeclaration" targetNodeId="5108187754401350008" resolveInfo="moduleDefinition" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4787660408162313204">
                    <link role="baseMethodDeclaration" targetNodeId="3v.4787660408161587372" resolveInfo="getExportsAssignments" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5108187754399121144">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5108187754399121147">
              <link role="variableDeclaration" targetNodeId="5108187754399117515" resolveInfo="result" />
            </node>
          </node>
        </node>
      </node>
      <node role="presentation" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Presentation" id="7463838306357165113">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7463838306357165114">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7463838306357173583">
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7463838306357173587">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="7463838306357173586" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="7463838306357173591">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7463838306357173593">
                  <link role="conceptDeclaration" targetNodeId="1.8372054433699552952" resolveInfo="IParameterizedAssignment" />
                </node>
              </node>
            </node>
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7463838306357173585">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7463838306357173594">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="7463838306357173602">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7463838306357173605">
                    <property name="value" value=" {}" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7463838306357173597">
                    <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="7463838306357173596" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7463838306357173601">
                      <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7463838306357173607">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7463838306357173610">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="7463838306357173609" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7463838306357173614">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="5108187754401821948">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="5108187754401821949">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5108187754401821950">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5108187754401826917">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5108187754401826925">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5108187754401826920">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="5108187754401826919" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5108187754401826924">
                  <link role="link" targetNodeId="1.5108187754399117502" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5108187754401826929">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="5248658328133947152">
      <link role="applicableProperty" targetNodeId="1.5248658328133841626" resolveInfo="isParameterized" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="5248658328133947153">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328133947154">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328133957638">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328133957645">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328133957640">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="5248658328133957639" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328133957644">
                  <link role="link" targetNodeId="1.5108187754399117502" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="5248658328133957649">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="5248658328133957651">
                  <link role="conceptDeclaration" targetNodeId="1.8372054433699552952" resolveInfo="IParameterizedAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8935930502166225306">
    <property name="package" value="Lists.NamedBitList" />
    <link role="concept" targetNodeId="1.7401774347124493332" resolveInfo="NamedBit" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8935930502166225307">
      <link role="applicableProperty" targetNodeId="1.8935930502166225305" resolveInfo="number" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="8935930502166225308">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8935930502166225309">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8935930502166324521">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="8935930502166324527">
              <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8935930502166324528" />
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8935930502166324529">
                <property name="value" value="0" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="32273968139558858">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="687424318638095551">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638095552">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318638106036">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106038">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="687424318638106037" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="687424318638106042">
                <link role="property" targetNodeId="1.687424318638095550" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="687424318638106043">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638106044">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318638106045">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="687424318638106056">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="687424318638106059" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106047">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="687424318638106046" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="687424318638106055">
                  <link role="property" targetNodeId="1.687424318638095550" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="defaultScope" type="jetbrains.mps.lang.constraints.structure.NodeDefaultSearchScope" id="687424318638106060">
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="687424318638106061">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638106062">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="687424318638106063">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="687424318638106064">
              <property name="name" value="typeProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="687424318638106065">
                <link role="concept" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106068">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="687424318638106067" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="687424318638106072">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="687424318638106078" />
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="687424318638106073">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="687424318638106080">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="687424318638106082">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638106083">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036483663386">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036483663387">
                  <property name="name" value="refType" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036483663388">
                    <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036483663390">
                      <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                    </node>
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036483663392">
                    <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036483663394">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2413662036483663395" />
                      <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036483663399">
                        <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="687424318638106092">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="687424318638106093">
                  <property name="name" value="validationResult" />
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106102">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106097">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="687424318638106096">
                        <link role="variableDeclaration" targetNodeId="687424318638106064" resolveInfo="typeProvider" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="687424318638106101">
                        <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793079732" resolveInfo="getType" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="687424318638106106">
                      <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663403">
                        <link role="variableDeclaration" targetNodeId="2413662036483663387" resolveInfo="refType" />
                      </node>
                    </node>
                  </node>
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036483663405">
                    <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="687424318638106113">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638106114">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="687424318638106125">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="687424318638106126">
                      <property name="name" value="bitStringType" />
                      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="687424318638106127">
                        <link role="concept" targetNodeId="1.7401774347124399986" resolveInfo="BitStringType" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="687424318638106130">
                        <link role="concept" targetNodeId="1.7401774347124399986" resolveInfo="BitStringType" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663436">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663433">
                            <link role="variableDeclaration" targetNodeId="2413662036483663387" resolveInfo="refType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663442">
                            <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="687424318638106133">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106141">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106136">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="687424318638106135">
                          <link role="variableDeclaration" targetNodeId="687424318638106126" resolveInfo="bitStringType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="687424318638106140">
                          <link role="link" targetNodeId="1.7401774347124493375" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="687424318638106145">
                        <link role="link" targetNodeId="1.7401774347124493378" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2413662036483663408">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663414">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663411">
                      <link role="variableDeclaration" targetNodeId="687424318638106093" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663420">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106118">
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="687424318638106122">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="687424318638106124">
                        <link role="conceptDeclaration" targetNodeId="1.7401774347124399986" resolveInfo="BitStringType" />
                      </node>
                    </node>
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663424">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663421">
                        <link role="variableDeclaration" targetNodeId="2413662036483663387" resolveInfo="refType" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663430">
                        <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106087">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="687424318638106086">
                <link role="variableDeclaration" targetNodeId="687424318638106064" resolveInfo="typeProvider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="687424318638106091" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="687424318638106150" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="687424318638106147">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="687424318638106149" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="32273968136974727">
    <property name="package" value="Lists.NamedNumberList" />
    <link role="concept" targetNodeId="1.8702535492065731464" resolveInfo="NamedNumber" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="32273968136974728">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="5248658328131503589">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328131503590">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328131514074">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328131514076">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="5248658328131514075" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328131514080">
                <link role="property" targetNodeId="1.5248658328131503588" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="5248658328131514081">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328131514082">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328131514083">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5248658328131514090">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="5248658328131514093" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328131514085">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="5248658328131514084" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328131514089">
                  <link role="property" targetNodeId="1.5248658328131503588" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4774048611892551334">
    <property name="package" value="BuiltinValue.ObjectIdentifierValue" />
    <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4787660408160766413">
      <link role="applicableProperty" targetNodeId="1.4787660408160766412" resolveInfo="value" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="4787660408160766414">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160766415">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408160766416">
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766425">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766420">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4787660408160766419" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160766424">
                  <link role="link" targetNodeId="1.4787660408160766384" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4787660408160766429" />
            </node>
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160766418">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408160766435">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408160766436">
                  <property name="name" value="refValue" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408160766437">
                    <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160766439">
                      <link role="concept" targetNodeId="1.5430715052354187086" resolveInfo="ASNValue" />
                    </node>
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408160766441">
                    <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4787660408160766442">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                      <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160766443">
                        <link role="concept" targetNodeId="1.5430715052354187086" resolveInfo="ASNValue" />
                      </node>
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4787660408160766444" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408160766457">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408160766458">
                  <property name="name" value="validationResult" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408160766459">
                    <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766468">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766463">
                      <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4787660408160766462" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160766467">
                        <link role="link" targetNodeId="1.4787660408160766384" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4787660408160766472">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5430715052355568252" resolveInfo="getRootValue" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160766473">
                        <link role="variableDeclaration" targetNodeId="4787660408160766436" resolveInfo="refValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408160766475">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160766476">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408160766539">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766564">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4787660408160766556">
                        <link role="concept" targetNodeId="1.1678051738083057375" resolveInfo="IntegerValue" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766544">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160766541">
                            <link role="variableDeclaration" targetNodeId="4787660408160766436" resolveInfo="refValue" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408160766550">
                            <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                          </node>
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160766573">
                        <link role="property" targetNodeId="1.8935930502167231358" resolveInfo="value" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4787660408160766507">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766525">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766513">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160766510">
                        <link role="variableDeclaration" targetNodeId="4787660408160766436" resolveInfo="refValue" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408160766519">
                        <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4787660408160766534">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4787660408160766537">
                        <link role="conceptDeclaration" targetNodeId="1.1678051738083057375" resolveInfo="IntegerValue" />
                      </node>
                    </node>
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4787660408160766492">
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4787660408160766488">
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160766479">
                        <link role="variableDeclaration" targetNodeId="4787660408160766458" resolveInfo="validationResult" />
                      </node>
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4787660408160766491" />
                    </node>
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766498">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160766495">
                        <link role="variableDeclaration" targetNodeId="4787660408160766458" resolveInfo="validationResult" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408160766504">
                        <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408160766434" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408160766431">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4787660408160766433">
              <property name="value" value="-1" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611892551335">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="4787660408160766389">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160766390">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160766391">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766393">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4787660408160766392" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160766397">
                <link role="property" targetNodeId="1.4787660408160766388" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="4787660408160766398">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160766399">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160766400">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4787660408160766407">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="4787660408160766410" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766402">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4787660408160766401" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160766406">
                  <link role="property" targetNodeId="1.4787660408160766388" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4774048611895807791">
    <property name="package" value="Lists.CharSymbols" />
    <link role="concept" targetNodeId="1.1678051738090073911" resolveInfo="Tuple" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807792">
      <link role="applicableProperty" targetNodeId="1.4774048611895807784" resolveInfo="tableColumn" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807795">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807796">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611895807797">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="8024414845768027560">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanOrEqualsExpression" id="8024414845768027567">
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8024414845768027570">
                  <property name="value" value="7" />
                </node>
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8024414845768027566" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="8024414845768027563">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8024414845768027564" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8024414845768027565">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807803">
      <link role="applicableProperty" targetNodeId="1.4774048611895807785" resolveInfo="tableRow" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807804">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807805">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611895807806">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="8024414845768027571">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanOrEqualsExpression" id="8024414845768027575">
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="8024414845768027578">
                  <property name="value" value="15" />
                </node>
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8024414845768027574" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" id="4774048611895807808">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="4774048611895807807" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4774048611895807811">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4774048611895807824">
    <property name="package" value="Lists.CharSymbols" />
    <link role="concept" targetNodeId="1.1678051738090073882" resolveInfo="Quadruple" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807825">
      <link role="applicableProperty" targetNodeId="1.4774048611895807815" resolveInfo="cell" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807826">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807827">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611895807828">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741512808993">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanExpression" id="1932240741512809005">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809006" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809007">
                  <property name="value" value="128" />
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="4774048611895807834">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="4774048611895807829" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4774048611895807837">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807838">
      <link role="applicableProperty" targetNodeId="1.4774048611895807812" resolveInfo="group" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807839">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807840">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611895807841">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741512809001">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanExpression" id="1932240741512809008">
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809011">
                  <property name="value" value="256" />
                </node>
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809004" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="4774048611895807843">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="4774048611895807842" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4774048611895807846">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807847">
      <link role="applicableProperty" targetNodeId="1.4774048611895807813" resolveInfo="plane" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807848">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807849">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741512809012">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741512809013">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanExpression" id="1932240741512809014">
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809015">
                  <property name="value" value="256" />
                </node>
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809016" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="1932240741512809017">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809018" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809019">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4774048611895807856">
      <link role="applicableProperty" targetNodeId="1.4774048611895807814" resolveInfo="row" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="4774048611895807857">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895807858">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741512809020">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="1932240741512809021">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LessThanExpression" id="1932240741512809022">
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809023">
                  <property name="value" value="256" />
                </node>
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809024" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" id="1932240741512809025">
                <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512809026" />
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="1932240741512809027">
                  <property name="value" value="0" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="5019664383906486039">
    <property name="package" value="ObjectClass" />
    <link role="concept" targetNodeId="1.8372054433698514886" resolveInfo="ObjectClassReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="5019664383906486040">
      <link role="applicableLink" targetNodeId="1.1161031609608310738" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="5019664383906486041">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383906486042">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5019664383906486043">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5019664383906486044">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5019664383906486045">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383906486048">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="5019664383906486047" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="5019664383906486052">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="5019664383906486053">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="5019664383906486056">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5019664383906486058">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383906486061">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5019664383906486060">
                <link role="variableDeclaration" targetNodeId="5019664383906486044" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315526983760">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315526983761">
                  <link role="conceptDeclaration" targetNodeId="1.4056456322104692297" resolveInfo="IObjectClassAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="5019664383906829879">
    <property name="package" value="ObjectClass" />
    <link role="concept" targetNodeId="1.1678051738086445153" resolveInfo="ExternalObjectClassReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="5019664383906829880">
      <link role="applicableLink" targetNodeId="1.1161031609608310738" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="5019664383906829887">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383906829888">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5019664383906829889">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5019664383906829890">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5019664383906829891">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383906829900">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="5019664383906829899" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5019664383906829913">
                  <link role="link" targetNodeId="1.5019664383906491037" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5019664383906829906">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383907167657">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5019664383907167656">
                <link role="variableDeclaration" targetNodeId="5019664383906829890" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315527029671">
                <link role="baseMethodDeclaration" targetNodeId="3v.5108187754398749131" resolveInfo="getLocalAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315527029672">
                  <link role="conceptDeclaration" targetNodeId="1.4056456322104692297" resolveInfo="IObjectClassAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="5019664383909565592">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1678051738085519740" resolveInfo="TypeFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="5019664383909565593">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198738">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198739">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8514903112316198740">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198743">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198742" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198747">
                <link role="property" targetNodeId="1.8514903112316198737" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198748">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198749">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198750">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198757">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198760" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198752">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198751" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198756">
                  <link role="property" targetNodeId="1.8514903112316198737" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="6998561549812589526">
    <property name="package" value="ModuleDefinition" />
    <link role="concept" targetNodeId="1.6998561549812589510" resolveInfo="AssignmentReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="6998561549812589528">
      <link role="applicableLink" targetNodeId="1.6998561549812589511" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="6998561549812589529">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6998561549812589533">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="6998561549812589534">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="6998561549812589535">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="6998561549812589536">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6998561549812589539">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="6998561549812589538" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="6998561549812589543">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="6998561549812589544">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="6998561549812589547">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="6998561549812589549">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6998561549812589552">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="6998561549812589551">
                <link role="variableDeclaration" targetNodeId="6998561549812589535" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="6998561549812589556">
                <link role="baseMethodDeclaration" targetNodeId="3v.5108187754398749131" resolveInfo="getLocalAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315527406354">
                  <link role="conceptDeclaration" targetNodeId="1.7534685045992101039" resolveInfo="IAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="6998561549812865409">
    <property name="package" value="BuiltinType.ReferencedType" />
    <link role="concept" targetNodeId="1.6216009128089376098" resolveInfo="DefinedType" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="6998561549812865410">
      <link role="applicableLink" targetNodeId="1.1161031609608070242" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="6998561549812865411">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6998561549812865412">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="6384031803675907545">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="6384031803675907546">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="6384031803675907547">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6384031803675907550">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="6384031803675907549" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="6384031803675907554">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="6384031803675907555">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="6384031803675907558">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="6384031803675907560">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315527113159">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315527113158">
                <link role="variableDeclaration" targetNodeId="6384031803675907546" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315527113163">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315527113164">
                  <link role="conceptDeclaration" targetNodeId="1.4056456322104744037" resolveInfo="ITypeAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8840847807369849551">
    <property name="package" value="Object.DefaultSyntax" />
    <link role="concept" targetNodeId="1.1678051738093708054" resolveInfo="FieldSetting" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="8840847807369849552">
      <link role="applicableLink" targetNodeId="1.8840847807369306526" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="8840847807369849553">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8840847807369849554">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2734934296511248004">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2734934296511248005">
              <property name="name" value="objectClassProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2734934296511248006">
                <link role="concept" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248010">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2734934296511248009" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="2734934296511248014">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="2734934296511248015">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2734934296511248018">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="2734934296511248020" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2734934296511248026">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2734934296511248027">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2734934296511248036">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2734934296511248037">
                  <property name="name" value="objectClass" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2734934296511248038">
                    <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248042">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248041">
                      <link role="variableDeclaration" targetNodeId="2734934296511248005" resolveInfo="objectClassProvider" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2734934296511248046">
                      <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2734934296511248048">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2734934296511248049">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2734934296511248058">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2734934296511248059">
                      <property name="name" value="refObjectClass" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2734934296511248060">
                        <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                        <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2734934296511248062">
                          <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                        </node>
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2734934296511248067">
                        <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2734934296511248068">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                          <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2734934296511248069">
                            <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                          </node>
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2734934296511248070" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2734934296511248073">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2734934296511248074">
                      <property name="name" value="validationResult" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2734934296511248075">
                        <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248078">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248077">
                          <link role="variableDeclaration" targetNodeId="2734934296511248037" resolveInfo="objectClass" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2734934296511248082">
                          <link role="baseMethodDeclaration" targetNodeId="3v.8479206315889592802" resolveInfo="getRootObjectClass" />
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248083">
                            <link role="variableDeclaration" targetNodeId="2734934296511248059" resolveInfo="refObjectClass" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2734934296511248085">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2734934296511248086">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2734934296511248109">
                        <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2734934296511248110">
                          <property name="name" value="objectClassDefn" />
                          <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2734934296511248111">
                            <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                          </node>
                          <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2734934296511248128">
                            <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248116">
                              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248113">
                                <link role="variableDeclaration" targetNodeId="2734934296511248059" resolveInfo="refObjectClass" />
                              </node>
                              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2734934296511248122">
                                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2734934296511248133">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248140">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248135">
                            <link role="variableDeclaration" targetNodeId="2734934296511248110" resolveInfo="objectClassDefn" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="2734934296511248148">
                            <link role="link" targetNodeId="1.1678051738087227665" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2734934296511248096">
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248103">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248099">
                          <link role="variableDeclaration" targetNodeId="2734934296511248074" resolveInfo="validationResult" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2734934296511248108">
                          <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                        </node>
                      </node>
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="2734934296511248092">
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248089">
                          <link role="variableDeclaration" targetNodeId="2734934296511248074" resolveInfo="validationResult" />
                        </node>
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2734934296511248095" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248053">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248052">
                    <link role="variableDeclaration" targetNodeId="2734934296511248037" resolveInfo="objectClass" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="2734934296511248057" />
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2734934296511248031">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2734934296511248030">
                <link role="variableDeclaration" targetNodeId="2734934296511248005" resolveInfo="objectClassProvider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="2734934296511248035" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2734934296511248022">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2734934296511248024" />
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8251251793605661902">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8251251793605661903">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793605661904">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793605672388">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793605672396">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793605672391">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8251251793605672390" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="8251251793605672401">
                  <link role="baseMethodDeclaration" targetNodeId="3v.8251251793605417767" resolveInfo="getFieldSpec" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793605672400">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1932240741510755747">
    <property name="package" value="BuiltinValue.RelativeOIDValue" />
    <link role="concept" targetNodeId="1.1932240741510739593" resolveInfo="RelativeOIDComponentRef" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="1932240741510755748">
      <link role="applicableLink" targetNodeId="1.1932240741510755742" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="1932240741510755749">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741510755750">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="1932240741510765269">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="1932240741510765270">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="1932240741510765271">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741510765274">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="1932240741510765273" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="1932240741510765278">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="1932240741510765279">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="1932240741510765282">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1932240741510765284">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741510765287">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="1932240741510765286">
                <link role="variableDeclaration" targetNodeId="1932240741510765270" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="1932240741510765291">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="1932240741510765292">
                  <link role="conceptDeclaration" targetNodeId="1.7534685045992233421" resolveInfo="ValueAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1932240741512587827">
    <property name="package" value="BuiltinValue.RelativeOIDValue" />
    <link role="concept" targetNodeId="1.6938061653425424581" resolveInfo="RelativeOIDComponent" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1932240741512587828">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="1932240741512687040">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741512687041">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741512687042">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741512687043">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1932240741512687044" />
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="1932240741512687045">
                <link role="baseMethodDeclaration" targetNodeId="2.~String.matches(java.lang.String):boolean" resolveInfo="matches" />
                <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1932240741512687046">
                  <property name="value" value="[A-z](-?([A-z0-9]+-?)*[A-z0-9])?" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2229019017265670005">
    <property name="package" value="NamedEntities.NamedConstraint" />
    <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="485782747702740081">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="485782747702740082">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="485782747702740083">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="485782747702750567">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="485782747702750569">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="485782747702750568" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="485782747702750573">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="485782747702750574">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="485782747702750575">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="485782747702750576">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="485782747702750588">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="485782747702750591" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="485782747702750578">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="485782747702750577" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="485782747702750582">
                  <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="2229019017265670006">
      <link role="applicableProperty" targetNodeId="1.9020003798799556662" resolveInfo="id" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="3452212975937747883">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3452212975937747884">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3452212975937758885">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3452212975937758895">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3452212975937758887">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="3452212975937758886" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3452212975937758891">
                  <link role="link" targetNodeId="1.3452212975937747882" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3452212975937758899">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="3452212975937758900">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3452212975937758901">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3452212975937758902">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="3452212975937758914">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="3452212975937758917" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3452212975937758909">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3452212975937758904">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="3452212975937758903" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3452212975937758908">
                    <link role="link" targetNodeId="1.3452212975937747882" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3452212975937758913">
                  <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="3452212975937758918">
      <link role="applicableLink" targetNodeId="1.3452212975937747882" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="3452212975937758919">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3452212975937758920">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8926044065947635124">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8926044065947635125">
              <property name="name" value="typeProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8926044065947635126">
                <link role="concept" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635129">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="8926044065947635128" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="8926044065947635133">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="8926044065947635134">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8926044065947635137">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="8926044065947635139" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8926044065947635466">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8926044065947635467">
              <property name="name" value="result" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="8926044065947635468">
                <link role="elementConcept" targetNodeId="1.9020003798799544470" resolveInfo="IComponentId" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="8926044065947635507">
                <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="8926044065947635508">
                  <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="8926044065947635509">
                    <link role="elementConcept" targetNodeId="1.9020003798799544470" resolveInfo="IComponentId" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="8926044065947635521" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8926044065947635141">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8926044065947635142">
              <property name="name" value="type" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8926044065947635143">
                <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635146">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635145">
                  <link role="variableDeclaration" targetNodeId="8926044065947635125" resolveInfo="typeProvider" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="8926044065947635151">
                  <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793079732" resolveInfo="getType" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8926044065947635154">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8926044065947635155">
              <property name="name" value="refType" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="8926044065947635156">
                <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8926044065947635158">
                  <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                </node>
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="8926044065947635160">
                <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="8926044065947635161">
                  <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                  <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8926044065947635162">
                    <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                  </node>
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="8926044065947635163" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8926044065947635166">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8926044065947635167">
              <property name="name" value="validationResult" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="8926044065947635168">
                <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635171">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635170">
                  <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="8926044065947635175">
                  <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635176">
                    <link role="variableDeclaration" targetNodeId="8926044065947635155" resolveInfo="refType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="8926044065947635179">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947635180">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8926044065947635215">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8926044065947635217">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635223">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635220">
                      <link role="variableDeclaration" targetNodeId="8926044065947635155" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="8926044065947635228">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635216">
                    <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="8926044065947635240">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947635241">
                  <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="8926044065947635563">
                    <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="8926044065947635564">
                      <property name="name" value="tuple" />
                    </node>
                    <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635640">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8926044065947635612">
                        <link role="concept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635581">
                          <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="8926044065947635658">
                        <link role="baseMethodDeclaration" targetNodeId="3v.6781117154622661275" resolveInfo="getComponentsInherited" />
                      </node>
                    </node>
                    <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947635566">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8926044065947635673">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635688">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635674">
                            <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="8926044065947635705">
                            <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635788">
                              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635740">
                                <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="8926044065947635722">
                                  <link role="variable" targetNodeId="8926044065947635564" resolveInfo="tuple" />
                                </node>
                                <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="8926044065947635762">
                                  <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                                </node>
                              </node>
                              <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="8926044065947635816">
                                <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635245">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635244">
                    <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="8926044065947635249">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8926044065947635262">
                      <link role="conceptDeclaration" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="8320522650967349839" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="8926044065947757231">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947757232">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8926044065947757290">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757292">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757291">
                        <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="8926044065947757300">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757325">
                          <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8926044065947757313">
                            <link role="concept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757307">
                              <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8926044065947868501">
                            <link role="link" targetNodeId="1.8251251793611799888" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="8926044065947757243">
                    <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="8926044065947757244">
                      <property name="name" value="additionAlternative" />
                    </node>
                    <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757272">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8926044065947757250">
                        <link role="concept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757248">
                          <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8926044065947757340">
                        <link role="link" targetNodeId="1.8251251793611812091" />
                      </node>
                    </node>
                    <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947757246">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="8926044065947757342">
                        <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757348">
                          <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="8926044065947757345">
                            <link role="variable" targetNodeId="8926044065947757244" resolveInfo="additionAlternative" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="8926044065947757355">
                            <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8926044065947757359">
                              <link role="conceptDeclaration" targetNodeId="1.8251251793611812092" resolveInfo="ExtensionAdditionAlternative" />
                            </node>
                          </node>
                        </node>
                        <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947757344">
                          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8926044065947757361">
                            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757363">
                              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757362">
                                <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
                              </node>
                              <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="8926044065947757367">
                                <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757392">
                                  <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8926044065947757382">
                                    <link role="concept" targetNodeId="1.8251251793611812092" resolveInfo="ExtensionAdditionAlternative" />
                                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="8926044065947757374">
                                      <link role="variable" targetNodeId="8926044065947757244" resolveInfo="additionAlternative" />
                                    </node>
                                  </node>
                                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8926044065947757404">
                                    <link role="link" targetNodeId="1.8251251793611812094" />
                                  </node>
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                        <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="8926044065947757411">
                          <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8926044065947757412">
                            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8926044065947757419">
                              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757421">
                                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757420">
                                  <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
                                </node>
                                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="8926044065947757425">
                                  <node role="argument" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8926044065947757434">
                                    <link role="concept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="8926044065947757429">
                                      <link role="variable" targetNodeId="8926044065947757244" resolveInfo="additionAlternative" />
                                    </node>
                                  </node>
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947757236">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947757235">
                    <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="8926044065947757240">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8926044065947757242">
                      <link role="conceptDeclaration" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="8926044065947635198">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8926044065947635204">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635201">
                  <link role="variableDeclaration" targetNodeId="8926044065947635167" resolveInfo="validationResult" />
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="8926044065947635210">
                  <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="8926044065947635194">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635183">
                  <link role="variableDeclaration" targetNodeId="8926044065947635167" resolveInfo="validationResult" />
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="8926044065947635197" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="8320522650967349841" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="8320522650967349843">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8320522650967349844">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8320522650967349845">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8320522650967349846">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8320522650967349847">
                    <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
                  </node>
                  <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="8320522650967349848">
                    <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8320522650967349849">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="8320522650967349850">
                        <link role="concept" targetNodeId="1.8702535492065480015" resolveInfo="RealType" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8320522650967349851">
                          <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8320522650967349852">
                        <link role="link" targetNodeId="1.2892697590861740961" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8320522650967349853">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8320522650967349854">
                <link role="variableDeclaration" targetNodeId="8926044065947635142" resolveInfo="type" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="8320522650967349855">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8320522650967349856">
                  <link role="conceptDeclaration" targetNodeId="1.8702535492065480015" resolveInfo="RealType" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8926044065947635212">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8926044065947635535">
              <link role="variableDeclaration" targetNodeId="8926044065947635467" resolveInfo="result" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2229019017266938155">
    <property name="package" value="BuiltinType.ConstrainedType.SubtypeElements.PatternContraint" />
    <link role="concept" targetNodeId="1.2229019017266938147" resolveInfo="PatternConstraintValueRef" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="9152698315526735907">
      <link role="applicableLink" targetNodeId="1.2229019017266938148" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="9152698315526735908">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526735909">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315526735910">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315526735911">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315526735912">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526735913">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="9152698315526735914" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="9152698315526735915">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="9152698315526735916">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315526735917">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315526735918">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526735919">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315526735920">
                <link role="variableDeclaration" targetNodeId="9152698315526735911" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315526735921">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315526735922">
                  <link role="conceptDeclaration" targetNodeId="1.7534685045992233421" resolveInfo="ValueAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="110482013024289065">
    <property name="package" value="Object.DefinedSyntax" />
    <link role="concept" targetNodeId="1.6216009128090496005" resolveInfo="DefinedSyntaxElementToken" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="110482013024289066">
      <link role="applicableLink" targetNodeId="1.110482013024126683" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4534048328792265587">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328792265588">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120970821906">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120970821907">
              <property name="name" value="classProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120970821908">
                <link role="concept" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970821911">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="3310844120970821910" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="3310844120970821915">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="3310844120970821916">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="3310844120970821919">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="3310844120970821921" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120970821936">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120970821937">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120970821947">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120970821948">
                  <property name="name" value="objectClass" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120970821949">
                    <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970821952">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821951">
                      <link role="variableDeclaration" targetNodeId="3310844120970821907" resolveInfo="classProvider" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3310844120970821956">
                      <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120970821958">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120970821959">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120970821968">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120970821969">
                      <property name="name" value="refClass" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="3310844120970821970">
                        <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                        <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120970821972">
                          <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                        </node>
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="3310844120970821974">
                        <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="3310844120970821975">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                          <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120970821976">
                            <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                          </node>
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120970821977" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120970821981">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120970821982">
                      <property name="name" value="result" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="3310844120970821983">
                        <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970821987">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821986">
                          <link role="variableDeclaration" targetNodeId="3310844120970821948" resolveInfo="objectClass" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3310844120970821991">
                          <link role="baseMethodDeclaration" targetNodeId="3v.8479206315889592802" resolveInfo="getRootObjectClass" />
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821992">
                            <link role="variableDeclaration" targetNodeId="3310844120970821969" resolveInfo="refClass" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120970821994">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120970821995">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3310844120970822039">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="3310844120970822042">
                          <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970822048">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970822045">
                              <link role="variableDeclaration" targetNodeId="3310844120970821969" resolveInfo="refClass" />
                            </node>
                            <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120970822054">
                              <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                            </node>
                          </node>
                          <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970822041">
                            <link role="variableDeclaration" targetNodeId="3310844120970821948" resolveInfo="objectClass" />
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120970822036">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970822060">
                          <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="3310844120970822058">
                            <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970822057">
                              <link role="variableDeclaration" targetNodeId="3310844120970821948" resolveInfo="objectClass" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3310844120970822064">
                            <link role="baseMethodDeclaration" targetNodeId="3v.1609738566721570263" resolveInfo="getTokens" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="3310844120970822023">
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970822029">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970822026">
                          <link role="variableDeclaration" targetNodeId="3310844120970821982" resolveInfo="result" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120970822035">
                          <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                        </node>
                      </node>
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="3310844120970822001">
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821998">
                          <link role="variableDeclaration" targetNodeId="3310844120970821982" resolveInfo="result" />
                        </node>
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120970822012" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970821963">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821962">
                    <link role="variableDeclaration" targetNodeId="3310844120970821948" resolveInfo="objectClass" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="3310844120970821967" />
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120970821941">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120970821940">
                <link role="variableDeclaration" targetNodeId="3310844120970821907" resolveInfo="classProvider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="3310844120970821945" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3310844120970821946" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120970821923">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120970821925" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8251251793604914351">
    <property name="package" value="Object" />
    <link role="concept" targetNodeId="1.8251251793604914342" resolveInfo="ObjectReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="8251251793604914352">
      <link role="applicableLink" targetNodeId="1.1161031609608567771" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="8251251793604914353">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793604914354">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8251251793604924838">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8251251793604924839">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8251251793604924840">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793604924843">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="8251251793604924842" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="8251251793604924847">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="8251251793604924848">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8251251793604924851">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793604924853">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793604924856">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8251251793604924855">
                <link role="variableDeclaration" targetNodeId="8251251793604924839" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315526735889">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315526735890">
                  <link role="conceptDeclaration" targetNodeId="1.1609738566719872837" resolveInfo="IObjectAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="6450725436504760739">
    <property name="package" value="ObjectSet" />
    <link role="concept" targetNodeId="1.6450725436504760723" resolveInfo="ObjectSetReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="6450725436504760740">
      <link role="applicableLink" targetNodeId="1.1161031609608668756" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="6450725436504760741">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6450725436504760742">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="6450725436504760743">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="6450725436504760744">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="6450725436504760745">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6450725436504760746">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="6450725436504760747" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="6450725436504760748">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="6450725436504760749">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="6450725436504760750">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="6450725436504760751">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6450725436504760752">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="6450725436504760753">
                <link role="variableDeclaration" targetNodeId="6450725436504760744" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="9152698315527067816">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="9152698315527067817">
                  <link role="conceptDeclaration" targetNodeId="1.1609738566719856098" resolveInfo="IObjectSetAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="6450725436505017863">
    <property name="package" value="ObjectSet" />
    <link role="concept" targetNodeId="1.6450725436505005664" resolveInfo="ObjectSetParameterReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="6450725436505017864">
      <link role="applicableLink" targetNodeId="1.7793031572835420552" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="6450725436505017865">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6450725436505017866">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2413662036482527601">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527602">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527603">
                <link role="baseMethodDeclaration" targetNodeId="2413662036482526839" resolveInfo="ParameterSearchScope" />
                <node role="actualArgument" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2413662036482527604" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527605">
                  <link role="conceptDeclaration" targetNodeId="1.1919761619489446157" resolveInfo="ParameterNamedObjectSet" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1609738566715805888">
    <property name="package" value="Object" />
    <link role="concept" targetNodeId="1.1609738566715793686" resolveInfo="ObjectParameterReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="1609738566715805895">
      <link role="applicableLink" targetNodeId="1.7793031572835420552" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="1609738566715805896">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1609738566715805897">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527540">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527541">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527542">
                <link role="baseMethodDeclaration" targetNodeId="2413662036482526839" resolveInfo="ParameterSearchScope" />
                <node role="actualArgument" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2413662036482527543" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527544">
                  <link role="conceptDeclaration" targetNodeId="1.4534048328796967419" resolveInfo="ParameterNamedObject" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1609738566717367413">
    <link role="concept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
    <link role="defaultConcreteConcept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2103069454645700316">
      <link role="applicableLink" targetNodeId="1.1872831763378182595" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2103069454646391971">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454646391972">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.RemarkStatement" id="2103069454647785756">
            <property name="value" value="Works perfectly!!!" />
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2103069454647060859">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2103069454647060860">
              <property name="name" value="objectClass" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2103069454647060861">
                <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2103069454647060864" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647472639">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472640">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2103069454647472641">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2103069454647472642">
                  <property name="name" value="variableTypeFieldName" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2103069454647472643">
                    <link role="concept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647472644">
                    <link role="concept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
                    <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647472645" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647472646">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472647">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2103069454647472648">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2103069454647472649">
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472650">
                        <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                      </node>
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472651">
                        <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647472652">
                          <link role="concept" targetNodeId="1.1872831763373921330" resolveInfo="ObjectFieldSpecification" />
                          <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472653">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472654">
                              <link role="variableDeclaration" targetNodeId="2103069454647472642" resolveInfo="variableTypeFieldName" />
                            </node>
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472655">
                              <link role="link" targetNodeId="1.1872831763378182595" />
                            </node>
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472656">
                          <link role="link" targetNodeId="1.2103069454647061033" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472657">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472658">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472659">
                      <link role="variableDeclaration" targetNodeId="2103069454647472642" resolveInfo="variableTypeFieldName" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472660">
                      <link role="link" targetNodeId="1.1872831763378182595" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2103069454647472661">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2103069454647472662">
                      <link role="conceptDeclaration" targetNodeId="1.1872831763373921330" resolveInfo="ObjectFieldSpecification" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2103069454647472663" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647472664">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472665">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2103069454647472666">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2103069454647472667">
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472668">
                        <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                      </node>
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472669">
                        <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647472670">
                          <link role="concept" targetNodeId="1.1872831763374761427" resolveInfo="ObjectSetFieldSpecification" />
                          <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472671">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472672">
                              <link role="variableDeclaration" targetNodeId="2103069454647472642" resolveInfo="variableTypeFieldName" />
                            </node>
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472673">
                              <link role="link" targetNodeId="1.1872831763378182595" />
                            </node>
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472674">
                          <link role="link" targetNodeId="1.2103069454647073232" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472675">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472676">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472677">
                      <link role="variableDeclaration" targetNodeId="2103069454647472642" resolveInfo="variableTypeFieldName" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647472678">
                      <link role="link" targetNodeId="1.1872831763378182595" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2103069454647472679">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2103069454647472680">
                      <link role="conceptDeclaration" targetNodeId="1.1872831763374761427" resolveInfo="ObjectSetFieldSpecification" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472681">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647472682" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2103069454647472683">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7463838306356068715">
                  <link role="conceptDeclaration" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
                </node>
              </node>
            </node>
            <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="2103069454647472686">
              <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472687">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647484904">
                  <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647484905">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2103069454647484955">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2103069454647484958">
                        <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647484964">
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2103069454647484971">
                            <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                          </node>
                          <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647653777">
                            <link role="concept" targetNodeId="1.5430715052355519125" resolveInfo="IInformationFromObject" />
                            <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647653778" />
                          </node>
                        </node>
                        <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647484956">
                          <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647484911">
                    <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647484909" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2103069454647484916">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2103069454647484919">
                        <link role="conceptDeclaration" targetNodeId="1.5430715052355519125" resolveInfo="IInformationFromObject" />
                      </node>
                    </node>
                  </node>
                  <node role="elsifClauses" type="jetbrains.mps.baseLanguage.structure.ElsifClause" id="2103069454647488602">
                    <node role="statementList" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647488604">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2103069454647488619">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2103069454647488620">
                          <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647488621">
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2103069454647488623">
                              <link role="link" targetNodeId="1.8492289956116483185" />
                            </node>
                            <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647664262">
                              <link role="concept" targetNodeId="1.8492289956116483184" resolveInfo="ObjectClassFieldType" />
                              <node role="leftExpression" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647664263" />
                            </node>
                          </node>
                          <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647488624">
                            <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647488607">
                      <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647488608" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2103069454647488609">
                        <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2103069454647488610">
                          <link role="conceptDeclaration" targetNodeId="1.8492289956116483184" resolveInfo="ObjectClassFieldType" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="2103069454647488627">
                    <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647488628">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2103069454647488634">
                        <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2103069454647488635">
                          <property name="name" value="objectClassProvider" />
                          <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2103069454647488636">
                            <link role="concept" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                          </node>
                          <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647488637">
                            <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2103069454647488638" />
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="2103069454647488639">
                              <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="2103069454647488640">
                                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2103069454647488641">
                                  <link role="conceptDeclaration" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647488642">
                        <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647488643">
                          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2103069454647488644">
                            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2103069454647488645">
                              <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647488646">
                                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647488647">
                                  <link role="variableDeclaration" targetNodeId="2103069454647488635" resolveInfo="objectClassProvider" />
                                </node>
                                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2103069454647488648">
                                  <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                                </node>
                              </node>
                              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647488649">
                                <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                              </node>
                            </node>
                          </node>
                        </node>
                        <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647488650">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647488651">
                            <link role="variableDeclaration" targetNodeId="2103069454647488635" resolveInfo="objectClassProvider" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="2103069454647488652" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2103069454646538894" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647472503">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472504">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2103069454647472505">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2103069454647472506">
                  <property name="name" value="refObjectClass" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2103069454647472507">
                    <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2103069454647472508">
                      <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                    </node>
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2103069454647472509">
                    <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2103069454647472510">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                      <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2103069454647472511">
                        <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                      </node>
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2103069454647472512" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2103069454647472513">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2103069454647472514">
                  <property name="name" value="validationResult" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2103069454647472515">
                    <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472516">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472517">
                      <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2103069454647472518">
                      <link role="baseMethodDeclaration" targetNodeId="3v.8479206315889592802" resolveInfo="getRootObjectClass" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472519">
                        <link role="variableDeclaration" targetNodeId="2103069454647472506" resolveInfo="refObjectClass" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2103069454647472520">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2103069454647472521">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2103069454647472544">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472555">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2103069454647472546">
                        <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472547">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472548">
                            <link role="variableDeclaration" targetNodeId="2103069454647472506" resolveInfo="refObjectClass" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2103069454647472549">
                            <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                          </node>
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="2103069454647472564">
                        <link role="link" targetNodeId="1.1678051738087227665" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2103069454647472529">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472530">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472531">
                      <link role="variableDeclaration" targetNodeId="2103069454647472514" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2103069454647472532">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="2103069454647472533">
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472534">
                      <link role="variableDeclaration" targetNodeId="2103069454647472514" resolveInfo="validationResult" />
                    </node>
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2103069454647472535" />
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2103069454647472536">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2103069454647472537">
                <link role="variableDeclaration" targetNodeId="2103069454647060860" resolveInfo="objectClass" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="2103069454647472538" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2103069454647472542" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2103069454646402519">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2103069454647472569" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4056456322104029629">
    <property name="package" value="BuiltinValue.ReferencedValue" />
    <link role="concept" targetNodeId="1.4056456322104029620" resolveInfo="ValueParameterReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4056456322104029630">
      <link role="applicableLink" targetNodeId="1.7793031572835420552" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4056456322104029640">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4056456322104029641">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527575">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527576">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527577">
                <link role="baseMethodDeclaration" targetNodeId="2413662036482526839" resolveInfo="ParameterSearchScope" />
                <node role="actualArgument" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2413662036482527578" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527579">
                  <link role="conceptDeclaration" targetNodeId="1.1919761619489446115" resolveInfo="ParameterNamedValue" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4056456322105287660">
    <property name="package" value="BuiltinType.ReferencedType" />
    <link role="concept" targetNodeId="1.4056456322105275461" resolveInfo="TypeParameterReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4056456322105358526">
      <link role="applicableLink" targetNodeId="1.7793031572835420552" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4056456322105358527">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4056456322105358528">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527520">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527522">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527524">
                <link role="baseMethodDeclaration" targetNodeId="2413662036482526839" resolveInfo="ParameterSearchScope" />
                <node role="actualArgument" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2413662036482527525" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527527">
                  <link role="conceptDeclaration" targetNodeId="1.6716628601968810582" resolveInfo="ParameterType" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2738219375107491805">
    <property name="package" value="BuiltinValue" />
    <link role="concept" targetNodeId="1.7832527542465803930" resolveInfo="BooleanValue" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112315945914">
      <link role="applicableProperty" targetNodeId="1.2738219375107491804" resolveInfo="presentation" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="8514903112315945915">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112315945916">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112315956400">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112315956402">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112315956401" />
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="8514903112315956406">
                <link role="baseMethodDeclaration" targetNodeId="2.~String.matches(java.lang.String):boolean" resolveInfo="matches" />
                <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="8514903112315956407">
                  <property name="value" value="(TRUE)|(FALSE)" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112315956408">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112315956409">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112315956413">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112315956422">
              <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="8514903112315963294">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924454368151">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112315956425" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="1793664924454368155">
                    <link role="baseMethodDeclaration" targetNodeId="2.~String.equalsIgnoreCase(java.lang.String):boolean" resolveInfo="equalsIgnoreCase" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1793664924454368156">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112315956415">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112315956414" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112315956421">
                  <link role="property" targetNodeId="1.7832527542465803935" resolveInfo="value" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1793664924453893108">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924453893109">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924453903600">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.TernaryOperatorExpression" id="1793664924453903601">
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924453903606">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924453903605" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924453903610">
                  <link role="property" targetNodeId="1.7832527542465803935" resolveInfo="value" />
                </node>
              </node>
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1793664924453903611">
                <property name="value" value="TRUE" />
              </node>
              <node role="ifFalse" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1793664924453903612">
                <property name="value" value="FALSE" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198770">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198771">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198772">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198773">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8514903112316198774">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198777">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198776" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198782">
                <link role="property" targetNodeId="1.8514903112316198761" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198783">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198784">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198785">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198792">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198795" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198787">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198786" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198791">
                  <link role="property" targetNodeId="1.8514903112316198761" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198797">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.5019664383912092258" resolveInfo="VariableTypeValueFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198798">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198799">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198800">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8514903112316198801">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198804">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198803" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198808">
                <link role="property" targetNodeId="1.8514903112316198796" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198809">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198810">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198811">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198818">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198821" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198813">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198812" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198817">
                  <link role="property" targetNodeId="1.8514903112316198796" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198823">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1678051738086882207" resolveInfo="FixedTypeValueSetFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198824">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198825">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198826">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8514903112316198837">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198840">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198839" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198844">
                <link role="property" targetNodeId="1.8514903112316198822" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198858">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198859">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198860">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198867">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198870" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198862">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198861" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198866">
                  <link role="property" targetNodeId="1.8514903112316198822" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198872">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1678051738087053424" resolveInfo="VariableTypeValueSetFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198873">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198874">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198875">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198876">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198878">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198877" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198882">
                <link role="property" targetNodeId="1.8514903112316198871" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198883">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198884">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198885">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198892">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198895" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198887">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198886" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198891">
                  <link role="property" targetNodeId="1.8514903112316198871" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198897">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1872831763373921330" resolveInfo="ObjectFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198898">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198899">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198900">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198901">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198903">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198902" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198907">
                <link role="property" targetNodeId="1.8514903112316198896" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198908">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198909">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198910">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198917">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198920" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198912">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198911" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198916">
                  <link role="property" targetNodeId="1.8514903112316198896" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="8514903112316198922">
    <property name="package" value="ObjectClass.FieldSpecification" />
    <link role="concept" targetNodeId="1.1872831763374761427" resolveInfo="ObjectSetFieldSpec" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="8514903112316198923">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="8514903112316198924">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198925">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198926">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198928">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198927" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198932">
                <link role="property" targetNodeId="1.8514903112316198921" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="8514903112316198933">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8514903112316198934">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8514903112316198935">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112316198942">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="8514903112316198945" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8514903112316198937">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="8514903112316198936" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8514903112316198941">
                  <link role="property" targetNodeId="1.8514903112316198921" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1793664924452808754">
    <property name="package" value="Lists.ParameterList" />
    <link role="concept" targetNodeId="1.6716628601968810582" resolveInfo="ParameterType" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1793664924452808755">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1793664924452808756">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452808757">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452918969">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452918971">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452918970" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452918975">
                <link role="property" targetNodeId="1.1793664924452796563" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="1793664924452918976">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452918977">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452918978">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1793664924452918985">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1793664924452918988" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452918980">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452918979" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452918984">
                  <link role="property" targetNodeId="1.1793664924452796563" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1793664924452918990">
    <property name="package" value="Lists.ParameterList" />
    <link role="concept" targetNodeId="1.1919761619489446141" resolveInfo="ParameterNamedObject" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1793664924452918991">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1793664924452918992">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452918993">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452918996">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452918999">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452918998" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919003">
                <link role="property" targetNodeId="1.1793664924452918989" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="1793664924452919004">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452919005">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452919006">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1793664924452919013">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1793664924452919016" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452919008">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452919007" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919012">
                  <link role="property" targetNodeId="1.1793664924452918989" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1793664924452919018">
    <property name="package" value="Lists.ParameterList" />
    <link role="concept" targetNodeId="1.1919761619489446157" resolveInfo="ParameterNamedObjectSet" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1793664924452919019">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1793664924452919020">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452919021">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452919022">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452919024">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452919023" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919028">
                <link role="property" targetNodeId="1.1793664924452919017" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="1793664924452919029">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452919030">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452919031">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1793664924452919038">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1793664924452919041" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452919033">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452919032" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919037">
                  <link role="property" targetNodeId="1.1793664924452919017" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1793664924452919043">
    <property name="package" value="Lists.ParameterList" />
    <link role="concept" targetNodeId="1.1919761619489446115" resolveInfo="ParameterNamedValue" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1793664924452919044">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1793664924452919045">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452919046">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452919047">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452919049">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452919048" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919053">
                <link role="property" targetNodeId="1.1793664924452919042" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="1793664924452919054">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1793664924452919055">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1793664924452919056">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="1793664924452919065">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="1793664924452919068" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1793664924452919058">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="1793664924452919057" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="1793664924452919063">
                  <link role="property" targetNodeId="1.1793664924452919042" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526224636">
    <property name="package" value="Assignments.TypeAssignment" />
    <link role="concept" targetNodeId="1.4056456322104744037" resolveInfo="ITypeAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526224637">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526224638">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526224639">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526334851">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526334853">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526334852" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526334857">
                <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526334858">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526334859">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526334860">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315526334867">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9152698315526334874" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526334862">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526334861" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526334866">
                  <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526568907">
    <property name="package" value="Assignments.ValueAssignment" />
    <link role="concept" targetNodeId="1.9152698315526457500" resolveInfo="IValueAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526568908">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526568909">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526568910">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526568911">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526568912">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526568913" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526568914">
                <link role="property" targetNodeId="1.9152698315526469693" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526568915">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526568916">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526568917">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315526568918">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9152698315526568919" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526568920">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526568921" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526568922">
                  <link role="property" targetNodeId="1.9152698315526469693" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526568934">
    <property name="package" value="Assignments.TypeAssignment.ValueSetTypeAssignment" />
    <link role="concept" targetNodeId="1.9152698315526568928" resolveInfo="IValueSetTypeAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526568935">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526568936">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526568937">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526568938">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526568939">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526568940" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526568941">
                <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526568942">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526568943">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526568944">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315526568945">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9152698315526568946" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526568947">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526568948" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526568949">
                  <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526568956">
    <property name="package" value="Assignments.ObjectClassAssignment" />
    <link role="concept" targetNodeId="1.4056456322104692297" resolveInfo="IObjectClassAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526568957">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526568958">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526568959">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526579960">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526579962">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526579961" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526579966">
                <link role="property" targetNodeId="1.9152698315526568954" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526579967">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526579968">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526579969">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315526579976">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9152698315526579979" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526579971">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526579970" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526579975">
                  <link role="property" targetNodeId="1.9152698315526568954" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526579983">
    <property name="package" value="Assignments.ObjectAssignment" />
    <link role="concept" targetNodeId="1.1609738566719872837" resolveInfo="IObjectAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526579984">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526579985">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526579986">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526579987">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526579989">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526579988" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526579993">
                <link role="property" targetNodeId="1.9152698315526579982" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526579994">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526579995">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526579996">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526579998">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526579997" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526580002">
                <link role="property" targetNodeId="1.9152698315526579982" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9152698315526580006">
    <property name="package" value="Assignments.ObjectSetAssignment" />
    <link role="concept" targetNodeId="1.1609738566719856098" resolveInfo="IObjectSetAssignment" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9152698315526580007">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9152698315526580009">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526580010">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526580011">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526580013">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526580012" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526580017">
                <link role="property" targetNodeId="1.9152698315526580005" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9152698315526580018">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315526580019">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315526580020">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315526580027">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9152698315526580030" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315526580022">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9152698315526580021" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315526580026">
                  <link role="property" targetNodeId="1.9152698315526580005" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4202478297959547105">
    <property name="package" value="BuiltinValue.IntegerValue" />
    <link role="concept" targetNodeId="1.4202478297959534911" resolveInfo="IntegerNamedNumberRef" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4202478297959547106">
      <link role="applicableLink" targetNodeId="1.4202478297959557618" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4202478297959547107">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4202478297959547108">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4202478297959557592">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4202478297959557593">
              <property name="name" value="provider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4202478297959557594">
                <link role="concept" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4202478297959557597">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="4202478297959557596" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="4202478297959557601">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="4202478297959557607" />
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="4202478297959557602">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="5946986654428168486">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036483663445">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036483663446">
              <property name="name" value="refType" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036483663447">
                <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036483663449">
                  <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                </node>
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036483663451">
                <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036483663453">
                  <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2413662036483663454" />
                  <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036483663458">
                    <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5946986654428168488">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5946986654428168489">
              <property name="name" value="validationResult" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036483663464">
                <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5946986654428168498">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5946986654428168493">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5946986654428168492">
                    <link role="variableDeclaration" targetNodeId="4202478297959557593" resolveInfo="provider" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="5946986654428168497">
                    <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793079732" resolveInfo="getType" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="5946986654428168502">
                  <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318509980" resolveInfo="getRootType" />
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663462">
                    <link role="variableDeclaration" targetNodeId="2413662036483663446" resolveInfo="refType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4208300936828022235" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="5946986654428168504">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5946986654428168505">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5946986654428168523">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5946986654428168524">
                  <property name="name" value="integerType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5946986654428168525">
                    <link role="concept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="5946986654428168528">
                    <link role="concept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663493">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663490">
                        <link role="variableDeclaration" targetNodeId="2413662036483663446" resolveInfo="refType" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663499">
                        <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5946986654428168538">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5946986654428168551">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5946986654428168542">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5946986654428168541">
                      <link role="variableDeclaration" targetNodeId="5946986654428168524" resolveInfo="integerType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5946986654428168546">
                      <link role="link" targetNodeId="1.2455424604183964945" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="5946986654428168555">
                    <link role="link" targetNodeId="1.8702535492065731486" />
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2413662036483663466">
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4208300936828032722">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4208300936828032728">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4208300936828032731" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4208300936828032725">
                    <link role="variableDeclaration" targetNodeId="5946986654428168489" resolveInfo="validationResult" />
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663472">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663469">
                    <link role="variableDeclaration" targetNodeId="5946986654428168489" resolveInfo="validationResult" />
                  </node>
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663478">
                    <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                  </node>
                </node>
              </node>
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5946986654428168509">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483663482">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483663479">
                    <link role="variableDeclaration" targetNodeId="2413662036483663446" resolveInfo="refType" />
                  </node>
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483663488">
                    <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="5946986654428168513">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="5946986654428168515">
                    <link role="conceptDeclaration" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5946986654428168550" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5946986654428168547">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="5946986654428168549" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4534048328796984592">
    <property name="package" value="Lists.ParameterList" />
    <link role="concept" targetNodeId="1.4534048328796967419" resolveInfo="ParameterNamedObject" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4534048328796984593">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="4534048328796984594">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328796984595">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4534048328796984596">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328796984597">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4534048328796984598" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4534048328796984608">
                <link role="property" targetNodeId="1.4534048328796979611" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="4534048328796984600">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328796984601">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4534048328796984602">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4534048328796984603">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="4534048328796995093" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328796984605">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4534048328796984606" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4534048328796984609">
                  <link role="property" targetNodeId="1.4534048328796979611" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9020003798799556663">
    <link role="concept" targetNodeId="1.9020003798799544470" resolveInfo="IComponentId" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9020003798799556664">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9020003798799556665">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798799556666">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798799660435">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799660437">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9020003798799660436" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798799660441">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9020003798799660442">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798799660443">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798799660444">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9020003798799660451">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9020003798799660454" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799660446">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9020003798799660445" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798799660450">
                  <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="9020003798799929449">
    <property name="package" value="Lists.ComponentTypeList" />
    <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="9020003798799929450">
      <link role="applicableProperty" targetNodeId="1.9020003798799556662" resolveInfo="id" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="9020003798799929451">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798799929452">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798799940453">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799940465">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799940455">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9020003798799940454" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9020003798799940464">
                  <link role="link" targetNodeId="1.5108187754404366382" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798799940469">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="9020003798799940470">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798799940471">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798799940472">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9020003798799940479">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="9020003798799940482" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799940483">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798799940474">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="9020003798799940473" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9020003798799940478">
                    <link role="link" targetNodeId="1.5108187754404366382" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798799940487">
                  <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="5248658328126345479">
    <property name="package" value="BuiltinType.ConstrainedType.ConstraintSpecification.GeneralConstraint.TableConstraint" />
    <link role="concept" targetNodeId="1.1839742443506469003" resolveInfo="AtNotation" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="5248658328126345481">
      <link role="applicableLink" targetNodeId="1.5248658328126345477" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="5248658328126345482">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328126345483">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8600224617538732627">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8600224617538732628">
              <property name="name" value="provider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="8600224617538732629">
                <link role="concept" targetNodeId="1.9020003798799813005" resolveInfo="IComponentIdProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617538732630">
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="8600224617538732634">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="8600224617538732635">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8600224617538732636">
                      <link role="conceptDeclaration" targetNodeId="1.9020003798799813005" resolveInfo="IComponentIdProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="8600224617538732637" />
                </node>
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="8600224617538732672" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="8600224617538732638">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="8600224617538732639">
              <property name="name" value="result" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="8600224617538732640">
                <link role="elementConcept" targetNodeId="1.9020003798799544470" resolveInfo="IComponentId" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="8600224617538732641">
                <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="8600224617538732642">
                  <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="8600224617538732643">
                    <link role="elementConcept" targetNodeId="1.9020003798799544470" resolveInfo="IComponentId" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.WhileStatement" id="8600224617538732644">
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617538732645">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732646">
                <link role="variableDeclaration" targetNodeId="8600224617538732628" resolveInfo="provider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="8600224617538732647" />
            </node>
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8600224617538732648">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8600224617538732649">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617538732650">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732651">
                    <link role="variableDeclaration" targetNodeId="8600224617538732639" resolveInfo="result" />
                  </node>
                  <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="8600224617538732652">
                    <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617538732653">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732654">
                        <link role="variableDeclaration" targetNodeId="8600224617538732628" resolveInfo="provider" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="8600224617538732655">
                        <link role="baseMethodDeclaration" targetNodeId="3v.9020003798799813009" resolveInfo="getComponents" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8600224617538732656">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8600224617538732657">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617538732658">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732659">
                      <link role="variableDeclaration" targetNodeId="8600224617538732628" resolveInfo="provider" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="8600224617538732660">
                      <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="8600224617538732661">
                        <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8600224617538732662">
                          <link role="conceptDeclaration" targetNodeId="1.9020003798799813005" resolveInfo="IComponentIdProvider" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732663">
                    <link role="variableDeclaration" targetNodeId="8600224617538732628" resolveInfo="provider" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="8600224617538732664" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8600224617538732665">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="8600224617538732666">
              <link role="variableDeclaration" targetNodeId="8600224617538732639" resolveInfo="result" />
            </node>
          </node>
        </node>
      </node>
      <node role="referentSetHandler" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSetHandler" id="5248658328126354019">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328126354020">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328126354528">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328126354529">
              <property name="name" value="providers" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="5248658328126354548">
                <link role="elementConcept" targetNodeId="1.9020003798799813005" resolveInfo="IComponentIdProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328127018227">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328126354542">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_newReferentNode" id="5248658328126354532" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorsOperation" id="5248658328126354546">
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="5248658328126354550">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="5248658328126354553">
                        <link role="conceptDeclaration" targetNodeId="1.9020003798799813005" resolveInfo="IComponentIdProvider" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" id="5248658328127018244" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328126354603">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5248658328126354604">
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328126354605">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="5248658328126354606" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328126354607">
                  <link role="property" targetNodeId="1.5248658328126318685" resolveInfo="isPointPresent" />
                </node>
              </node>
              <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="5248658328126494661">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" id="5248658328126354608">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328126354609">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328126354610">
                      <link role="variableDeclaration" targetNodeId="5248658328126354529" resolveInfo="providers" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" id="5248658328126354611" />
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="5248658328126354612">
                    <property name="value" value="1" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="presentation" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Presentation" id="3012083868666504963">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3012083868666504964">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3012083868666504966">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3012083868666504967">
              <property name="name" value="providers" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="3012083868666504968">
                <link role="elementConcept" targetNodeId="1.9020003798799813005" resolveInfo="IComponentContainer" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3012083868666504969">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3012083868666504970">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="3012083868666513458" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorsOperation" id="3012083868666504972">
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="3012083868666504973">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="3012083868666504974">
                        <link role="conceptDeclaration" targetNodeId="1.9020003798799813005" resolveInfo="IComponentContainer" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" id="3012083868666504975" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3012083868666513478">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3012083868666513479">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3012083868666513483">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="3012083868666513488">
                  <node role="rightExpression" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="3012083868666636224" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3012083868666513487">
                    <property name="value" value="." />
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" id="3012083868666524318">
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3012083868666524319">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3012083868666524320">
                  <link role="variableDeclaration" targetNodeId="3012083868666504967" resolveInfo="providers" />
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" id="3012083868666524321" />
              </node>
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="3012083868666524322">
                <property name="value" value="1" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3012083868666513494">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3012083868666513497">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="3012083868666636225" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3012083868666513501">
                <link role="baseMethodDeclaration" targetNodeId="12.1213877396640" resolveInfo="getPresentation" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="7732518329895946915">
    <property name="package" value="BuiltinValue.ReferencedValue" />
    <link role="concept" targetNodeId="1.4056456322103907495" resolveInfo="ValueReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="7732518329895946916">
      <link role="applicableLink" targetNodeId="1.1161031609608668753" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="7732518329895946917">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329895946918">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="7732518329895962368">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="7732518329895962369">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="7732518329895962370">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329895962374">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="7732518329895962372" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="7732518329895962378">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="7732518329895962384" />
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="7732518329895962379">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7732518329895962382">
                      <link role="conceptDeclaration" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7732518329895962386">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329895962389">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7732518329895962388">
                <link role="variableDeclaration" targetNodeId="7732518329895962369" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="7732518329895962393">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="7732518329895962394">
                  <link role="conceptDeclaration" targetNodeId="1.9152698315526457500" resolveInfo="IValueAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="256349686871029701">
    <property name="package" value="NamedEntities" />
    <link role="concept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
    <node role="defaultScope" type="jetbrains.mps.lang.constraints.structure.NodeDefaultSearchScope" id="256349686871029703">
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="256349686871029704">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="256349686871029705">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="256349686871029706">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="256349686871029707">
              <property name="name" value="typeProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="256349686871029708">
                <link role="concept" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871029709">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="256349686871029710" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="256349686871029711">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="256349686871029712" />
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="256349686871029713">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="256349686871029714">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379497564" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="256349686871029715">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="256349686871029716">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379633122">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379633123">
                  <property name="name" value="refType" />
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379633124">
                    <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                    <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379633125">
                      <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                    </node>
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379633126">
                    <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4814529844379633127">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379633128" />
                      <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379633129">
                        <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="256349686871029717">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="256349686871029718">
                  <property name="name" value="validationResult" />
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871029731">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871029720">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="256349686871029721">
                        <link role="variableDeclaration" targetNodeId="256349686871029707" resolveInfo="typeProvider" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379268307">
                        <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793079732" resolveInfo="getType" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="7092140500376674073">
                      <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483653554">
                        <link role="variableDeclaration" targetNodeId="4814529844379633123" resolveInfo="refType" />
                      </node>
                    </node>
                  </node>
                  <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036483653552">
                    <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2563836765640154517" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2413662036483653784">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036483653785">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036483653803">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="2413662036483653805" />
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="906000477257729847">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="906000477257740336">
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="906000477257740339" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="906000477257740333">
                      <link role="variableDeclaration" targetNodeId="256349686871029718" resolveInfo="validationResult" />
                    </node>
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="2413662036483653801">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036483653791">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036483653788">
                        <link role="variableDeclaration" targetNodeId="256349686871029718" resolveInfo="validationResult" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036483653797">
                        <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379615570">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379615572">
                  <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4814529844379633120">
                    <link role="baseMethodDeclaration" targetNodeId="4814529844379497454" resolveInfo="NamedTypeSearchScope" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379633134">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379633131">
                        <link role="variableDeclaration" targetNodeId="4814529844379633123" resolveInfo="refType" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379633140">
                        <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871029723">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="256349686871029724">
                <link role="variableDeclaration" targetNodeId="256349686871029707" resolveInfo="typeProvider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="256349686871029725" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="256349686871029726" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="256349686871029728">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="256349686871029730" />
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="256349686871787616">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="256349686871787617">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="256349686871787618">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="256349686871803068">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871803070">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="256349686871803069" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="256349686871803074">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="propertySetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" id="256349686871803075">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="256349686871803076">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="256349686871803077">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="256349686871803084">
              <node role="rValue" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="256349686871803087" />
              <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686871803079">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="256349686871803078" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="256349686871803083">
                  <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="256349686873369081">
    <property name="package" value="NamedEntities" />
    <link role="concept" targetNodeId="1.1678051738082486172" resolveInfo="NamedValue" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="256349686873369082">
      <link role="applicableProperty" targetNodeId="1.9020003798799556662" resolveInfo="id" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="256349686873369083">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="256349686873369084">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="256349686873472887">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686873472894">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686873472889">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="256349686873472888" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="256349686873472893">
                  <link role="link" targetNodeId="1.256349686873350993" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="256349686873472898">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="5674471377846702252">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="5674471377846702253">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5674471377846702254">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5674471377846702850">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5674471377846702852">
              <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="5674471377846702851" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5674471377846702856">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2413662036482511744">
    <property name="package" value="BuiltinValue.ReferencedValue" />
    <link role="concept" targetNodeId="1.7401774347124400013" resolveInfo="ExternalValueReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2413662036482511745">
      <link role="applicableLink" targetNodeId="1.1161031609608668753" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2413662036482511746">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482511747">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482522231">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482522232">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482522233">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482522242">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="2413662036482522241" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482522246">
                  <link role="link" targetNodeId="1.6938061653425082005" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482522248">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482522251">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482522250">
                <link role="variableDeclaration" targetNodeId="2413662036482522232" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2413662036482522255">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482522256">
                  <link role="conceptDeclaration" targetNodeId="1.9152698315526457500" resolveInfo="IValueAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2413662036482526802">
    <property name="package" value="Object" />
    <link role="concept" targetNodeId="1.1678051738086445191" resolveInfo="ExternalObjectReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2413662036482526803">
      <link role="applicableLink" targetNodeId="1.1161031609608567771" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2413662036482526804">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482526805">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482526806">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482526807">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482526808">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482526811">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="2413662036482526810" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482526815">
                  <link role="link" targetNodeId="1.6384031803676968438" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482526817">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482526820">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482526819">
                <link role="variableDeclaration" targetNodeId="2413662036482526807" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2413662036482526824">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482526825">
                  <link role="conceptDeclaration" targetNodeId="1.1609738566719872837" resolveInfo="IObjectAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.baseLanguage.structure.ClassConcept" id="2413662036482526837">
    <property name="name" value="ParameterSearchScope" />
    <node role="field" type="jetbrains.mps.baseLanguage.structure.FieldDeclaration" id="2413662036482527182">
      <property name="name" value="enclosingNode" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PrivateVisibility" id="2413662036482527183" />
      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482527185" />
    </node>
    <node role="field" type="jetbrains.mps.baseLanguage.structure.FieldDeclaration" id="2413662036482527186">
      <property name="name" value="parameterType" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PrivateVisibility" id="2413662036482527187" />
      <node role="type" type="jetbrains.mps.lang.smodel.structure.SConceptType" id="2413662036482527189">
        <link role="conceptDeclaraton" targetNodeId="1.1839742443506681637" resolveInfo="IParameter" />
      </node>
    </node>
    <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="2413662036482526838" />
    <node role="constructor" type="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" id="2413662036482526839">
      <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" id="2413662036482527161">
        <property name="name" value="enclosingNode" />
        <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482527163" />
      </node>
      <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" id="2413662036482527172">
        <property name="name" value="parameterType" />
        <node role="type" type="jetbrains.mps.lang.smodel.structure.SConceptType" id="2413662036482527174">
          <link role="conceptDeclaraton" targetNodeId="1.1839742443506681637" resolveInfo="IParameter" />
        </node>
      </node>
      <node role="returnType" type="jetbrains.mps.baseLanguage.structure.VoidType" id="2413662036482526840" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="2413662036482526841" />
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482526842">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2413662036482527190">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2413662036482527197">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="2413662036482527200">
              <link role="variableDeclaration" targetNodeId="2413662036482527161" resolveInfo="enclosingNode" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527192">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="2413662036482527191" />
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="2413662036482527196">
                <link role="fieldDeclaration" targetNodeId="2413662036482527182" resolveInfo="enclosingNode" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2413662036482527202">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2413662036482527209">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="2413662036482527212">
              <link role="variableDeclaration" targetNodeId="2413662036482527172" resolveInfo="parameterType" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527204">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="2413662036482527203" />
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="2413662036482527208">
                <link role="fieldDeclaration" targetNodeId="2413662036482527186" resolveInfo="parameterType" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="superclass" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527045">
      <link role="classifier" targetNodeId="5.~AbstractSearchScope" resolveInfo="AbstractSearchScope" />
    </node>
    <node role="method" type="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" id="2413662036482527150">
      <property name="name" value="getNodes" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="2413662036482527151" />
      <node role="returnType" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527152">
        <link role="classifier" targetNodeId="9.~List" resolveInfo="List" />
        <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527153">
          <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
        </node>
      </node>
      <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" id="2413662036482527154">
        <property name="name" value="p0" />
        <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527155">
          <link role="classifier" targetNodeId="11.~Condition" resolveInfo="Condition" />
          <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527156">
            <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
          </node>
        </node>
      </node>
      <node role="annotation" type="jetbrains.mps.baseLanguage.structure.AnnotationInstance" id="2413662036482527157">
        <link role="annotation" targetNodeId="10.~NotNull" resolveInfo="NotNull" />
      </node>
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527158">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482527329">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482527330">
            <property name="name" value="result" />
            <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527331">
              <link role="classifier" targetNodeId="9.~List" resolveInfo="List" />
              <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527333">
                <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
              </node>
            </node>
            <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527335">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527500">
                <link role="baseMethodDeclaration" targetNodeId="9.~ArrayList.&lt;init&gt;()" resolveInfo="ArrayList" />
                <node role="typeParameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="2413662036482527502">
                  <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482527225">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482527226">
            <property name="name" value="parameterizedAssignment" />
            <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482527227">
              <link role="concept" targetNodeId="1.8372054433699552952" resolveInfo="IParameterizedAssignment" />
            </node>
            <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527228">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527278">
                <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="2413662036482527279">
                  <link role="fieldDeclaration" targetNodeId="2413662036482527182" resolveInfo="enclosingNode" />
                </node>
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="2413662036482527280" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="2413662036482527230">
                <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="2413662036482527231" />
                <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="2413662036482527232">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2413662036482527233">
                    <link role="conceptDeclaration" targetNodeId="1.8372054433699552952" resolveInfo="IParameterizedAssignment" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2413662036482527234" />
        <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="2413662036482527235">
          <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="2413662036482527236">
            <property name="name" value="parameter" />
          </node>
          <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527237">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527238">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482527239">
                <link role="variableDeclaration" targetNodeId="2413662036482527226" resolveInfo="parameterizedAssignment" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482527240">
                <link role="link" targetNodeId="1.7585540365178075087" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="2413662036482527241">
              <link role="link" targetNodeId="1.1839742443506681638" />
            </node>
          </node>
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527242">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2413662036482527282">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527283">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2413662036482527504">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527506">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482527505">
                      <link role="variableDeclaration" targetNodeId="2413662036482527330" resolveInfo="result" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="2413662036482527510">
                      <link role="baseMethodDeclaration" targetNodeId="9.~List.add(java.lang.Object):boolean" resolveInfo="add" />
                      <node role="actualArgument" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="2413662036482527511">
                        <link role="variable" targetNodeId="2413662036482527236" resolveInfo="parameter" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527290">
                <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="2413662036482527291">
                  <link role="variable" targetNodeId="2413662036482527236" resolveInfo="parameter" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2413662036482527292">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.PoundExpression" id="2413662036482527293">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527295">
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="2413662036482527296">
                        <link role="fieldDeclaration" targetNodeId="2413662036482527186" resolveInfo="parameterType" />
                      </node>
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="2413662036482527297" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2413662036482527271" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527272">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482527516">
            <link role="variableDeclaration" targetNodeId="2413662036482527330" resolveInfo="result" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2413662036482527528">
    <property name="package" value="ObjectClass" />
    <link role="concept" targetNodeId="1.2413662036482526832" resolveInfo="ObjectClassParameterReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2413662036482527529">
      <link role="applicableLink" targetNodeId="1.7793031572835420552" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2413662036482527530">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527531">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527532">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2413662036482527533">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="2413662036482527534">
                <link role="baseMethodDeclaration" targetNodeId="2413662036482526839" resolveInfo="ParameterSearchScope" />
                <node role="actualArgument" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="2413662036482527535" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527536">
                  <link role="conceptDeclaration" targetNodeId="1.1919761619489446141" resolveInfo="ParameterObjectClass" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2413662036482527801">
    <property name="package" value="BuiltinType.ReferencedType" />
    <link role="concept" targetNodeId="1.7401774347124254833" resolveInfo="ExternalTypeReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2413662036482527802">
      <link role="applicableLink" targetNodeId="1.1161031609608070242" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2413662036482527803">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527804">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482527805">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482527806">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482527807">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527814">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="2413662036482527813" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482527818">
                  <link role="link" targetNodeId="1.6384031803676265443" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527820">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527823">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482527822">
                <link role="variableDeclaration" targetNodeId="2413662036482527806" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2413662036482527827">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527828">
                  <link role="conceptDeclaration" targetNodeId="1.4056456322104744037" resolveInfo="ITypeAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="2413662036482527953">
    <property name="package" value="ObjectSet" />
    <link role="concept" targetNodeId="1.1678051738086445211" resolveInfo="ExternalObjectSetReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="2413662036482527954">
      <link role="applicableLink" targetNodeId="1.1161031609608668756" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="2413662036482527955">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2413662036482527956">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2413662036482527957">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2413662036482527958">
              <property name="name" value="moduleDefinition" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2413662036482527959">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527962">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="2413662036482527961" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482527966">
                  <link role="link" targetNodeId="1.6384031803676968450" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2413662036482527968">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2413662036482527971">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2413662036482527970">
                <link role="variableDeclaration" targetNodeId="2413662036482527958" resolveInfo="moduleDefinition" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="2413662036482527975">
                <link role="baseMethodDeclaration" targetNodeId="3v.9152698315526586944" resolveInfo="getAssignments" />
                <node role="actualArgument" type="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" id="2413662036482527976">
                  <link role="conceptDeclaration" targetNodeId="1.1609738566719856098" resolveInfo="IObjectSetAssignment" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1048767958317740653">
    <property name="package" value="Assignments.Base" />
    <link role="concept" targetNodeId="1.5430715052355517916" resolveInfo="IAssignmentEntityReference" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1048767958317839867">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1048767958317839868">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1048767958317839869">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1048767958318036034">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3791406103800929830">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3791406103800929825">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="3791406103800929824" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3791406103800929829">
                  <link role="link" targetNodeId="1.5430715052355517996" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3791406103800929834">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="1048767958318157880">
    <property name="package" value="Assignments.Base" />
    <link role="concept" targetNodeId="1.5430715052355518121" resolveInfo="IAssignmentEntityWrapper" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="1048767958318157881">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="1048767958318157882">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1048767958318157883">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1048767958318157907">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3791406103801050650">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3791406103801050645">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="3791406103801050644" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3791406103801050649">
                  <link role="link" targetNodeId="1.5430715052355518123" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3791406103801050654">
                <link role="baseMethodDeclaration" targetNodeId="12.1213877396640" resolveInfo="getPresentation" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4101352733166728310">
    <link role="concept" targetNodeId="1.7793031572835408280" resolveInfo="IParameterReference" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4101352733166728311">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="4101352733166728312">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4101352733166728313">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4101352733166814105">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4101352733166814112">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4101352733166814107">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4101352733166814106" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4101352733166814111">
                  <link role="link" targetNodeId="1.7793031572835420552" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4101352733166814116">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4135453859681045661">
    <property name="package" value="BuiltinValue" />
    <link role="concept" targetNodeId="1.1678051738083057389" resolveInfo="EnumeratedValue" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="4135453859681045662">
      <link role="applicableProperty" targetNodeId="1.9020003798799556662" resolveInfo="id" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="4135453859681045663">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859681045664">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859681052729">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681052736">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681052731">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="4135453859681052730" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4135453859681052735">
                  <link role="link" targetNodeId="1.4135453859681045656" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859681052740">
                <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4135453859681302856">
      <link role="applicableLink" targetNodeId="1.4135453859681045656" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4135453859681302857">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859681302858">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4135453859681313859">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4135453859681313860">
              <property name="name" value="typeProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4135453859681313861">
                <link role="concept" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313864">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="4135453859681313863" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="4135453859681313868">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="4135453859681313869">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4135453859681313872">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793079724" resolveInfo="ITypeProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="4135453859681313874" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4135453859681313876">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4135453859681313877">
              <property name="name" value="refType" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4135453859681313878">
                <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4135453859681313880">
                  <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                </node>
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4135453859681313885">
                <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4135453859681313886">
                  <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                  <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4135453859681313887">
                    <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                  </node>
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4135453859681313888" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4135453859681313891">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4135453859681313892">
              <property name="name" value="validationResult" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4135453859681313893">
                <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313909">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313898">
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4135453859681313929">
                    <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793079732" resolveInfo="getType" />
                  </node>
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681313927">
                    <link role="variableDeclaration" targetNodeId="4135453859681313860" resolveInfo="typeProvider" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4135453859681313918">
                  <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318509980" resolveInfo="getRootType" />
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681313919">
                    <link role="variableDeclaration" targetNodeId="4135453859681313877" resolveInfo="refType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4135453859681313921">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859681313922">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4135453859681313953">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859681313954">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4135453859681314030">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4135453859681314031">
                      <property name="name" value="enumeratedType" />
                      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4135453859681314032">
                        <link role="concept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4135453859681314054">
                        <link role="concept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681314040">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314037">
                            <link role="variableDeclaration" targetNodeId="4135453859681313877" resolveInfo="refType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4135453859681314047">
                            <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4135453859681314062">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4135453859681314063">
                      <property name="name" value="enumerationItems" />
                      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4135453859681314064">
                        <link role="elementConcept" targetNodeId="1.7401774347124493329" resolveInfo="EnumerationItem" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4135453859681314078">
                        <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="4135453859681314079">
                          <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4135453859681314080">
                            <link role="elementConcept" targetNodeId="1.7401774347124493329" resolveInfo="EnumerationItem" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859681314084">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681314086">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314085">
                        <link role="variableDeclaration" targetNodeId="4135453859681314063" resolveInfo="enumerationItems" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="4135453859681314091">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681314110">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314099">
                            <link role="variableDeclaration" targetNodeId="4135453859681314031" resolveInfo="enumeratedType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681314124">
                            <link role="link" targetNodeId="1.2455424604185799774" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859681314156">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681314157">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314158">
                        <link role="variableDeclaration" targetNodeId="4135453859681314063" resolveInfo="enumerationItems" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="4135453859681314159">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681314160">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314161">
                            <link role="variableDeclaration" targetNodeId="4135453859681314031" resolveInfo="enumeratedType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681314171">
                            <link role="link" targetNodeId="1.2455424604185799776" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4135453859681313985">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681314179">
                      <link role="variableDeclaration" targetNodeId="4135453859681314063" resolveInfo="enumerationItems" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313971">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313960">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681313957">
                      <link role="variableDeclaration" targetNodeId="4135453859681313877" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4135453859681313966">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4135453859681313980">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4135453859681313983">
                      <link role="conceptDeclaration" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4135453859681313936">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859681313942">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681313939">
                  <link role="variableDeclaration" targetNodeId="4135453859681313892" resolveInfo="validationResult" />
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4135453859681313948">
                  <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4135453859681313932">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4135453859681313925">
                  <link role="variableDeclaration" targetNodeId="4135453859681313892" resolveInfo="validationResult" />
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4135453859681313935" />
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4135453859681313950">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4135453859681313952" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="3310844120967499089">
    <property name="package" value="ObjectClass.WithSyntaxSpecification" />
    <link role="concept" targetNodeId="1.3310844120967499069" resolveInfo="Literal" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="3310844120967499090">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyValidator" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" id="3310844120967499091">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120967499092">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3310844120967499093">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="3310844120967499094">
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120967499095">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="3310844120967499096" />
                <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120967499097">
                  <link role="baseMethodDeclaration" targetNodeId="2.~String.matches(java.lang.String):boolean" resolveInfo="matches" />
                  <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3310844120967499098">
                    <property name="value" value="[A-Z0-9-]+" />
                  </node>
                </node>
              </node>
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="3310844120967499099">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120967499100">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" id="3310844120967499101" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120967499102">
                    <link role="baseMethodDeclaration" targetNodeId="2.~String.matches(java.lang.String):boolean" resolveInfo="matches" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3310844120967499103">
                      <property name="value" value="(BIT)|(BOOLEAN)|(CHARACTER)|(CHOICE)|(EMBEDDED)|(END)|(ENUMERATED)|(EXTERNAL)|(FALSE)|(INSTANCE)|(INTEGER)|(INTERSECTION)|(MINUS-INFINITY)|(NULL)|(OBJECT)|(OCTET)|(PLUS-INFINITY)|(REAL)|(SEQUENCE)|(SET)|(TRUE)|(UNION)" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="3310844120969750395">
    <property name="package" value="ObjectClass.WithSyntaxSpecification" />
    <link role="concept" targetNodeId="1.3310844120967499104" resolveInfo="FieldSpecificationReference" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="3310844120971260880">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="3310844120971260881">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120971260882">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120971271366">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120971271375">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120971271370">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" id="3310844120971271369" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3310844120971271374">
                  <link role="link" targetNodeId="1.3310844120967499105" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3310844120971271379">
                <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="3310844120969750396">
      <link role="applicableLink" targetNodeId="1.3310844120967499105" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="3310844120969750397">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120969750398">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120969760882">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120969760883">
              <property name="name" value="provider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120969760884">
                <link role="concept" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760887">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="3310844120969760886" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="3310844120969760891">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="3310844120969760892">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="3310844120969760895">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="3310844120969760897" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120969760899">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120969760900">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120969760914">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120969760915">
                  <property name="name" value="objectClass" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120969760916">
                    <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760919">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760918">
                      <link role="variableDeclaration" targetNodeId="3310844120969760883" resolveInfo="provider" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3310844120969760923">
                      <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120969760925">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120969760926">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120969760939">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120969760940">
                      <property name="name" value="refObjectClass" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="3310844120969760941">
                        <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                        <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120969760943">
                          <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                        </node>
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="3310844120969760945">
                        <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="3310844120969760946">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                          <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3310844120969760947">
                            <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                          </node>
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120969760948" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3310844120969760952">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3310844120969760953">
                      <property name="name" value="result" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="3310844120969760954">
                        <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760958">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760957">
                          <link role="variableDeclaration" targetNodeId="3310844120969760915" resolveInfo="objectClass" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="3310844120969760962">
                          <link role="baseMethodDeclaration" targetNodeId="3v.8479206315889592802" resolveInfo="getRootObjectClass" />
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760963">
                            <link role="variableDeclaration" targetNodeId="3310844120969760940" resolveInfo="refObjectClass" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3310844120969760965">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120969760966">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3310844120969760996">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="3310844120969760998">
                          <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969761004">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969761001">
                              <link role="variableDeclaration" targetNodeId="3310844120969760940" resolveInfo="refObjectClass" />
                            </node>
                            <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120969761010">
                              <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                            </node>
                          </node>
                          <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760997">
                            <link role="variableDeclaration" targetNodeId="3310844120969760915" resolveInfo="objectClass" />
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120969761020">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969761025">
                          <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="3310844120969761023">
                            <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969761022">
                              <link role="variableDeclaration" targetNodeId="3310844120969760915" resolveInfo="objectClass" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="3310844120970510840">
                            <link role="link" targetNodeId="1.1678051738087227665" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="3310844120969760983">
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="3310844120969760972">
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760969">
                          <link role="variableDeclaration" targetNodeId="3310844120969760953" resolveInfo="result" />
                        </node>
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120969760984" />
                      </node>
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760989">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760986">
                          <link role="variableDeclaration" targetNodeId="3310844120969760953" resolveInfo="result" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="3310844120969760995">
                          <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760930">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760929">
                    <link role="variableDeclaration" targetNodeId="3310844120969760915" resolveInfo="objectClass" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="3310844120969760934" />
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3310844120969760904">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3310844120969760903">
                <link role="variableDeclaration" targetNodeId="3310844120969760883" resolveInfo="provider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="3310844120969760908" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3310844120969760913" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120969760910">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="3310844120969760912" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="3310844120971271385">
    <property name="package" value="ObjectClass.WithSyntaxSpecification" />
    <link role="concept" targetNodeId="1.3310844120967499075" resolveInfo="OptionalGroup" />
    <node role="property" type="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" id="3310844120971271388">
      <link role="applicableProperty" targetNodeId="2v.1169194664001" resolveInfo="name" />
      <node role="propertyGetter" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" id="3310844120971271389">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3310844120971271390">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3310844120971271391">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3310844120971271393">
              <property name="value" value="[ ... ]" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4787660408157281837">
    <property name="package" value="Object.DefinedSyntax" />
    <link role="concept" targetNodeId="1.2220938206951302943" resolveInfo="FieldSpecificationValue" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4787660408157281838">
      <link role="applicableLink" targetNodeId="1.2220938206951302945" />
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4787660408157281839">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157281840">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408157281841">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408157281842">
              <property name="name" value="classProvider" />
              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408157281843">
                <link role="concept" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281844">
                <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConceptParameter_ReferentSearchScope_enclosingNode" id="4787660408157281845" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="4787660408157281846">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" id="4787660408157281847">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4787660408157281848">
                      <link role="conceptDeclaration" targetNodeId="1.4534048328793067510" resolveInfo="IObjectClassProvider" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="4787660408157281849" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408157281850">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157281851">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408157281852">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408157281853">
                  <property name="name" value="objectClass" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408157281854">
                    <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281855">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281856">
                      <link role="variableDeclaration" targetNodeId="4787660408157281842" resolveInfo="classProvider" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4787660408157281857">
                      <link role="baseMethodDeclaration" targetNodeId="3v.4534048328793067519" resolveInfo="getObjectClass" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408157281858">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157281859">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408157281860">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408157281861">
                      <property name="name" value="refClass" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408157281862">
                        <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
                        <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408157281863">
                          <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                        </node>
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408157281864">
                        <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4787660408157281865">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                          <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408157281866">
                            <link role="concept" targetNodeId="1.8479206315889563127" resolveInfo="ObjectClass" />
                          </node>
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4787660408157281867" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408157281868">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408157281869">
                      <property name="name" value="validationResult" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408157281870">
                        <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281871">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281872">
                          <link role="variableDeclaration" targetNodeId="4787660408157281853" resolveInfo="objectClass" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4787660408157281873">
                          <link role="baseMethodDeclaration" targetNodeId="3v.8479206315889592802" resolveInfo="getRootObjectClass" />
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281874">
                            <link role="variableDeclaration" targetNodeId="4787660408157281861" resolveInfo="refClass" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408157281875">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157281876">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408157281877">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4787660408157281878">
                          <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281879">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281880">
                              <link role="variableDeclaration" targetNodeId="4787660408157281861" resolveInfo="refClass" />
                            </node>
                            <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408157281881">
                              <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                            </node>
                          </node>
                          <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281882">
                            <link role="variableDeclaration" targetNodeId="4787660408157281853" resolveInfo="objectClass" />
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408157756393">
                        <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408157756394">
                          <property name="name" value="result" />
                          <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4787660408157756395" />
                          <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408157756397">
                            <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="4787660408157756398">
                              <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4787660408157756399" />
                            </node>
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="4787660408157643552">
                        <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="4787660408157643553">
                          <property name="name" value="token" />
                        </node>
                        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157643555">
                          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408157643582">
                            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157643583">
                              <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408157643600">
                                <link role="variable" targetNodeId="4787660408157643553" resolveInfo="token" />
                              </node>
                              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4787660408157643585">
                                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4787660408157643586">
                                  <link role="conceptDeclaration" targetNodeId="1.3310844120967499104" resolveInfo="FieldSpecificationReference" />
                                </node>
                              </node>
                            </node>
                            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408157643587">
                              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408157756405">
                                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157756407">
                                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157756406">
                                    <link role="variableDeclaration" targetNodeId="4787660408157756394" resolveInfo="result" />
                                  </node>
                                  <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="4787660408157756411">
                                    <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157756416">
                                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4787660408157756417">
                                        <link role="concept" targetNodeId="1.3310844120967499104" resolveInfo="FieldSpecificationReference" />
                                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408157756418">
                                          <link role="variable" targetNodeId="4787660408157643553" resolveInfo="token" />
                                        </node>
                                      </node>
                                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408157756419">
                                        <link role="link" targetNodeId="1.3310844120967499105" />
                                      </node>
                                    </node>
                                  </node>
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                        <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157643564">
                          <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4787660408157643565">
                            <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157643566">
                              <link role="variableDeclaration" targetNodeId="4787660408157281853" resolveInfo="objectClass" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4787660408157643567">
                            <link role="baseMethodDeclaration" targetNodeId="3v.1609738566721570263" resolveInfo="getTokens" />
                          </node>
                        </node>
                      </node>
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408157756401">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157756403">
                          <link role="variableDeclaration" targetNodeId="4787660408157756394" resolveInfo="result" />
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="4787660408157281888">
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281889">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281890">
                          <link role="variableDeclaration" targetNodeId="4787660408157281869" resolveInfo="result" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408157281891">
                          <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                        </node>
                      </node>
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4787660408157281892">
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281893">
                          <link role="variableDeclaration" targetNodeId="4787660408157281869" resolveInfo="result" />
                        </node>
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4787660408157281894" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281895">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281896">
                    <link role="variableDeclaration" targetNodeId="4787660408157281853" resolveInfo="objectClass" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4787660408157281897" />
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408157281898">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408157281899">
                <link role="variableDeclaration" targetNodeId="4787660408157281842" resolveInfo="classProvider" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4787660408157281900" />
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408157281901" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408157281902">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4787660408157281903" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.constraints.structure.ConceptConstraints" id="4787660408159156158">
    <property name="package" value="ModuleDefinition" />
    <link role="concept" targetNodeId="1.8372054433699552963" resolveInfo="GlobalModuleReference" />
    <node role="referent" type="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" id="4787660408159156159">
      <link role="applicableLink" targetNodeId="1.5108187754398628334" />
      <node role="presentation" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Presentation" id="4787660408159156160">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159156161">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408159164630">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408159164631">
              <property name="name" value="identifier" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408159164632">
                <link role="classifier" targetNodeId="2.~StringBuilder" resolveInfo="StringBuilder" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408159164634">
                <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4787660408159164635">
                  <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.&lt;init&gt;()" resolveInfo="StringBuilder" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408159494924" />
          <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="4787660408159164647">
            <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="4787660408159164648">
              <property name="name" value="objIdComponent" />
            </node>
            <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164668">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164661">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164654">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="4787660408159164652" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408159164659">
                    <link role="link" targetNodeId="1.4534048328789038339" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408159164666">
                  <link role="link" targetNodeId="1.1839742443510822361" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4787660408159164673">
                <link role="link" targetNodeId="1.8251251793611112436" />
              </node>
            </node>
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159164650">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408159164823">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159164824">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159164838">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164840">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159164839">
                        <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159164845">
                        <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(char):java.lang.StringBuilder" resolveInfo="append" />
                        <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.CharConstant" id="4787660408159164846">
                          <property name="charConstant" value=" " />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4787660408159712350">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159712351">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159712352">
                      <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159712353">
                      <link role="baseMethodDeclaration" targetNodeId="2.~AbstractStringBuilder.length():int" resolveInfo="length" />
                    </node>
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4787660408159712354">
                    <property name="value" value="0" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408159164847" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408159164687">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164693">
                  <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164690">
                    <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164700">
                    <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                  </node>
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159164689">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159164702">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164704">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159164703">
                        <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159164708">
                        <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolveInfo="append" />
                        <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164712">
                          <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164709">
                            <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164719">
                            <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408159164722">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159164723">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159164738">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164741">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159164740">
                            <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159164746">
                            <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolveInfo="append" />
                            <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="4787660408159164763">
                              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4787660408159164766">
                                <property name="value" value=")" />
                              </node>
                              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="4787660408159164749">
                                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4787660408159164747">
                                  <property name="value" value="(" />
                                </node>
                                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164755">
                                  <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164752">
                                    <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                                  </node>
                                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164761">
                                    <link role="property" targetNodeId="1.8251251793610874027" resolveInfo="number" />
                                  </node>
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164729">
                      <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164726">
                        <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164736">
                        <link role="property" targetNodeId="1.8251251793610874033" resolveInfo="isNumberPresent" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="elsifClauses" type="jetbrains.mps.baseLanguage.structure.ElsifClause" id="4787660408159164785">
                  <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164792">
                    <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164789">
                      <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164799">
                      <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                    </node>
                  </node>
                  <node role="statementList" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159164787">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159164802">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164804">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159164803">
                          <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159164808">
                          <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolveInfo="append" />
                          <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159164813">
                            <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408159164809">
                              <link role="variable" targetNodeId="4787660408159164648" resolveInfo="objIdComponent" />
                            </node>
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159164820">
                              <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408159269196" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408159833936">
            <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408159833937">
              <property name="name" value="result" />
              <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4787660408159833938">
                <link role="classifier" targetNodeId="2.~StringBuilder" resolveInfo="StringBuilder" />
              </node>
              <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408159833940">
                <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4787660408159833941">
                  <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.&lt;init&gt;()" resolveInfo="StringBuilder" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159833959">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833961">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159833960">
                <link role="variableDeclaration" targetNodeId="4787660408159833937" resolveInfo="result" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159833966">
                <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolveInfo="append" />
                <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833974">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833969">
                    <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parameterNode" id="4787660408159833968" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408159833973">
                      <link role="link" targetNodeId="1.4534048328789038339" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408159833978">
                    <link role="property" targetNodeId="1.8514903112316198625" resolveInfo="id" />
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408159833967" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408159833943">
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159833944">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408159833980">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833982">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159833981">
                    <link role="variableDeclaration" targetNodeId="4787660408159833937" resolveInfo="result" />
                  </node>
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159833986">
                    <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolveInfo="append" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="4787660408159833992">
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4787660408159833995">
                        <property name="value" value="}" />
                      </node>
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.PlusExpression" id="4787660408159833988">
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="4787660408159833987">
                          <property name="value" value=" {" />
                        </node>
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159833991">
                          <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="identifier" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" id="4787660408159833954">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="4787660408159833957">
                <property name="value" value="0" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833949">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159833948">
                  <link role="variableDeclaration" targetNodeId="4787660408159164631" resolveInfo="sb" />
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159833953">
                  <link role="baseMethodDeclaration" targetNodeId="2.~AbstractStringBuilder.length():int" resolveInfo="length" />
                </node>
              </node>
            </node>
          </node>
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408159833979" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408159164637">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159833998">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408159833997">
                <link role="variableDeclaration" targetNodeId="4787660408159833937" resolveInfo="result" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4787660408159834002">
                <link role="baseMethodDeclaration" targetNodeId="2.~StringBuilder.toString():java.lang.String" resolveInfo="toString" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="searchScopeFactory" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Factory" id="4787660408159599273">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408159599274">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4787660408159607743">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408159607746">
              <node role="operand" type="jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_model" id="4787660408159607745" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Model_RootsOperation" id="4787660408159607750">
                <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="referentSetHandler" type="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSetHandler" id="4787660408160051779">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160051780">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408160519081" />
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408160064005">
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064034">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064014">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064009">
                  <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_newReferentNode" id="4787660408160064008" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160064013">
                    <link role="link" targetNodeId="1.4534048328789038339" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160064033">
                  <link role="link" targetNodeId="1.1839742443510822361" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4787660408160064038" />
            </node>
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160064007">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408160064051">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408160064052">
                  <property name="name" value="objectIdentifierValue" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160064053">
                    <link role="concept" targetNodeId="1.1678051738083754657" resolveInfo="ObjectIdentifierValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408160064055">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4787660408160064056">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160064057">
                        <link role="concept" targetNodeId="1.1678051738083754657" resolveInfo="ObjectIdentifierValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408161482664">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408161482671">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408161482666">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408161482665">
                      <link role="variableDeclaration" targetNodeId="4787660408160064052" resolveInfo="objectIdentifierValue" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4787660408161482670">
                      <link role="link" targetNodeId="1.4774048611892551206" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_RemoveAllChildrenOperation" id="4787660408161482675" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408161482677" />
              <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="4787660408160064064">
                <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="4787660408160064065">
                  <property name="name" value="component" />
                </node>
                <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064078">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754044">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064071">
                      <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_newReferentNode" id="4787660408160754042" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160754043">
                        <link role="link" targetNodeId="1.4534048328789038339" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160754051">
                      <link role="link" targetNodeId="1.1839742443510822361" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4787660408160754052">
                    <link role="link" targetNodeId="1.8251251793611112436" />
                  </node>
                </node>
                <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160064067">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4787660408160754073">
                    <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4787660408160754074">
                      <property name="name" value="objIdComponent" />
                      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160754075">
                        <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
                      </node>
                      <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4787660408160754081">
                        <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4787660408160754082">
                          <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4787660408160754083">
                            <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408161369538" />
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160754088">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4787660408160754095">
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754101">
                        <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408160754098">
                          <link role="variable" targetNodeId="4787660408160064065" resolveInfo="component" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160754109">
                          <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                        </node>
                      </node>
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754090">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160754089">
                          <link role="variableDeclaration" targetNodeId="4787660408160754074" resolveInfo="objIdComponent" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160754094">
                          <link role="property" targetNodeId="1.4774048611892551347" resolveInfo="isNamePresent" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160754113">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4787660408160754120">
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754126">
                        <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408160754123">
                          <link role="variable" targetNodeId="4787660408160064065" resolveInfo="component" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160754134">
                          <link role="property" targetNodeId="1.9020003798799556662" resolveInfo="id" />
                        </node>
                      </node>
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754115">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160754114">
                          <link role="variableDeclaration" targetNodeId="4787660408160754074" resolveInfo="objIdComponent" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160754119">
                          <link role="property" targetNodeId="2v.1169194664001" resolveInfo="name" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408160754137" />
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4787660408160754139">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4787660408160754140">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160754157">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754164">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754159">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160754158">
                              <link role="variableDeclaration" targetNodeId="4787660408160754074" resolveInfo="objIdComponent" />
                            </node>
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160766579">
                              <link role="link" targetNodeId="1.4787660408160766384" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="4787660408160766584">
                            <node role="linkTarget" type="jetbrains.mps.lang.quotation.structure.Quotation" id="4787660408160766587">
                              <node role="quotedNode" type="ASN.structure.IntegerValue" id="4787660408160766663">
                                <node role="propertyAntiquotation$property_attribute$value" type="jetbrains.mps.lang.quotation.structure.PropertyAntiquotation" id="4787660408160766665">
                                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.StaticMethodCall" id="4787660408160766683">
                                    <link role="classConcept" targetNodeId="2.~String" resolveInfo="String" />
                                    <link role="baseMethodDeclaration" targetNodeId="2.~String.valueOf(int):java.lang.String" resolveInfo="valueOf" />
                                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160766684">
                                      <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408160766685">
                                        <link role="variable" targetNodeId="4787660408160064065" resolveInfo="component" />
                                      </node>
                                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160766686">
                                        <link role="property" targetNodeId="1.8251251793610874027" resolveInfo="number" />
                                      </node>
                                    </node>
                                  </node>
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160754146">
                      <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4787660408160754143">
                        <link role="variable" targetNodeId="4787660408160064065" resolveInfo="component" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4787660408160754154">
                        <link role="property" targetNodeId="1.8251251793610874033" resolveInfo="isNumberPresent" />
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408161361067" />
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160064119">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064126">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064121">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160064120">
                          <link role="variableDeclaration" targetNodeId="4787660408160064052" resolveInfo="objectIdentifierValue" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4787660408160064125">
                          <link role="link" targetNodeId="1.4774048611892551206" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddChildOperation" id="4787660408160064130">
                        <node role="childNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160754085">
                          <link role="variableDeclaration" targetNodeId="4787660408160754074" resolveInfo="objIdComponent" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4787660408160064149" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4787660408160064039">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064046">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4787660408160064041">
                    <node role="operand" type="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" id="4787660408160064040" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408160064045">
                      <link role="link" targetNodeId="1.4787660408160063973" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="4787660408160064058">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4787660408160064061">
                      <link role="variableDeclaration" targetNodeId="4787660408160064052" resolveInfo="objectIdentifierValue" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.baseLanguage.structure.ClassConcept" id="4814529844379497452">
    <property name="package" value="NamedEntities" />
    <property name="name" value="NamedTypeSearchScope" />
    <node role="field" type="jetbrains.mps.baseLanguage.structure.FieldDeclaration" id="4814529844379497458">
      <property name="name" value="type" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PrivateVisibility" id="4814529844379497459" />
      <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379497539">
        <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
      </node>
    </node>
    <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="4814529844379497453" />
    <node role="constructor" type="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" id="4814529844379497454">
      <node role="returnType" type="jetbrains.mps.baseLanguage.structure.VoidType" id="4814529844379497455" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="4814529844379497456" />
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379497457">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379615559">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4814529844379615566">
            <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="4814529844379615569">
              <link role="variableDeclaration" targetNodeId="4814529844379613232" resolveInfo="type" />
            </node>
            <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615561">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="4814529844379615560" />
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379615565">
                <link role="fieldDeclaration" targetNodeId="4814529844379497458" resolveInfo="type" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" id="4814529844379613232">
        <property name="name" value="type" />
        <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379613233">
          <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
        </node>
      </node>
    </node>
    <node role="superclass" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379613246">
      <link role="classifier" targetNodeId="5.~AbstractSearchScope" resolveInfo="AbstractSearchScope" />
    </node>
    <node role="method" type="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" id="4814529844379614655">
      <property name="name" value="getNodes" />
      <node role="visibility" type="jetbrains.mps.baseLanguage.structure.PublicVisibility" id="4814529844379614656" />
      <node role="returnType" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379614657">
        <link role="classifier" targetNodeId="9.~List" resolveInfo="List" />
        <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379614658">
          <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
        </node>
      </node>
      <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" id="4814529844379614659">
        <property name="name" value="p0" />
        <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379614660">
          <link role="classifier" targetNodeId="11.~Condition" resolveInfo="Condition" />
          <node role="parameter" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379614661">
            <link role="classifier" targetNodeId="7.~SNode" resolveInfo="SNode" />
          </node>
        </node>
      </node>
      <node role="annotation" type="jetbrains.mps.baseLanguage.structure.AnnotationInstance" id="4814529844379614662">
        <link role="annotation" targetNodeId="10.~NotNull" resolveInfo="NotNull" />
      </node>
      <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614663">
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379615330">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379615331">
            <property name="name" value="validationResult" />
            <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379615332">
              <link role="classifier" targetNodeId="3v.9152698315530103301" resolveInfo="EntityValidationResult" />
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379615364">
          <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379615365">
            <property name="name" value="refType" />
            <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="4814529844379615366">
              <link role="classifier" targetNodeId="3v.5089156505954230100" resolveInfo="Ref" />
              <node role="parameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379615367">
                <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
              </node>
            </node>
            <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379615368">
              <node role="creator" type="jetbrains.mps.baseLanguage.structure.ClassCreator" id="4814529844379615369">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230102" resolveInfo="Ref" />
                <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615402">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.ThisExpression" id="4814529844379615401" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379615415">
                    <link role="fieldDeclaration" targetNodeId="4814529844379497458" resolveInfo="type" />
                  </node>
                </node>
                <node role="typeParameter" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379615371">
                  <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                </node>
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615381" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614765">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614766">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614767">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4814529844379614768">
                <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614769">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614770">
                    <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614771">
                      <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615441">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615438">
                          <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615447">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                        </node>
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379614775">
                      <link role="link" targetNodeId="1.7738428319181554506" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379614776">
                    <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614777">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                  </node>
                </node>
                <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614778">
                  <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614779">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614780">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379614781">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614782" />
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="4814529844379614783">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="4814529844379614784">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614785" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614786">
                    <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4814529844379614787">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614788">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614789">
                      <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614790">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614791">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615429">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615426">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615435">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614795">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614796">
                <link role="conceptDeclaration" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615400" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614798">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614799">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614800">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4814529844379614801">
                <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614802">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614803">
                    <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614804">
                      <link role="concept" targetNodeId="1.1678051738089887717" resolveInfo="ExternalType" />
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615465">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615462">
                          <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615471">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                        </node>
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379614808">
                      <link role="link" targetNodeId="1.2892697590861754449" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379614809">
                    <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614810">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                  </node>
                </node>
                <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614811">
                  <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614812">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614813">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379614814">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614815" />
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="4814529844379614816">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="4814529844379614817">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614818" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614819">
                    <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4814529844379614820">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614821">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614822">
                      <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614823">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614824">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615453">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615450">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615459">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614828">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614829">
                <link role="conceptDeclaration" targetNodeId="1.1678051738089887717" resolveInfo="ExternalType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614830" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614831">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614832">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614833">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4814529844379614834">
                <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614835">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614836">
                    <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614837">
                      <link role="concept" targetNodeId="1.8702535492065480010" resolveInfo="EmbeddedPDVType" />
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615489">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615486">
                          <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615495">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                        </node>
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379614841">
                      <link role="link" targetNodeId="1.2892697590862979342" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379614842">
                    <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614843">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                  </node>
                </node>
                <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614844">
                  <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614845">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614846">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379614847">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614848" />
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="4814529844379614849">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="4814529844379614850">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614851" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614852">
                    <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4814529844379614853">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614854">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614855">
                      <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614856">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614857">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615477">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615474">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615483">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614861">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614862">
                <link role="conceptDeclaration" targetNodeId="1.8702535492065480010" resolveInfo="EmbeddedPDVType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614863" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614864">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614865">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614866">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4814529844379614867">
                <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614868">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614869">
                    <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614870">
                      <link role="concept" targetNodeId="1.2892697590863967415" resolveInfo="UnrestrictedCharacterStringType" />
                      <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615513">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615510">
                          <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615519">
                          <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                        </node>
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379614874">
                      <link role="link" targetNodeId="1.2892697590863973878" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379614875">
                    <link role="baseMethodDeclaration" targetNodeId="3v.1048767958318510015" resolveInfo="getUnwrappedType" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614876">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                  </node>
                </node>
                <node role="lValue" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614877">
                  <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614878">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614879">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379614880">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614881" />
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="4814529844379614882">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="4814529844379614883">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379614884" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614885">
                    <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4814529844379614886">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614887">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614888">
                      <link role="variableDeclaration" targetNodeId="4814529844379615331" resolveInfo="validationResult" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614889">
                      <link role="baseMethodDeclaration" targetNodeId="3v.867789194271762934" resolveInfo="isSuccess" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614890">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615501">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615498">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615507">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614894">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614895">
                <link role="conceptDeclaration" targetNodeId="1.2892697590863967415" resolveInfo="UnrestrictedCharacterStringType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614896" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614897">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614898">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379614899">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379614900">
                <property name="name" value="iComponentTypeList" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379614901">
                  <link role="concept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
                </node>
                <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614902">
                  <link role="concept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614903">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614904">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614905">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379614906">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379614907">
                <property name="name" value="namedTypes" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379614908">
                  <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                </node>
                <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379614909">
                  <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="4814529844379614910">
                    <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379614911">
                      <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614912" />
            <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="4814529844379614913">
              <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="4814529844379614914">
                <property name="name" value="tuple" />
              </node>
              <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614915">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614916">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614917">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614918">
                      <link role="variableDeclaration" targetNodeId="4814529844379614907" resolveInfo="namedTypes" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="4814529844379614919">
                      <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614920">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614921">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614922">
                            <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4814529844379614923">
                              <link role="variable" targetNodeId="4814529844379614914" resolveInfo="tuple" />
                            </node>
                            <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379614924">
                              <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379614925">
                            <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379614926">
                          <link role="link" targetNodeId="1.5108187754404366382" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614927">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614928">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614929">
                    <link role="variableDeclaration" targetNodeId="4814529844379614900" resolveInfo="iComponentTypeList" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" id="4814529844379614930">
                    <link role="baseMethodDeclaration" targetNodeId="3v.6781117154622661275" resolveInfo="getComponentsInherited" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" id="4814529844379614931">
                  <node role="closure" type="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" id="4814529844379614932">
                    <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614933">
                      <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614934">
                        <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614935">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614936">
                            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614937">
                              <node role="operand" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="4814529844379614938">
                                <link role="variableDeclaration" targetNodeId="4814529844379614942" resolveInfo="it" />
                              </node>
                              <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379614939">
                                <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                              </node>
                            </node>
                            <node role="operation" type="jetbrains.mps.baseLanguage.structure.FieldReferenceOperation" id="4814529844379614940">
                              <link role="fieldDeclaration" targetNodeId="3v.5248658328126330922" resolveInfo="field1" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4814529844379614941" />
                        </node>
                      </node>
                    </node>
                    <node role="parameter" type="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" id="4814529844379614942">
                      <property name="name" value="it" />
                      <node role="type" type="jetbrains.mps.baseLanguage.structure.WildCardType" id="4814529844379614943" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614944" />
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379614945">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615546">
                <link role="variableDeclaration" targetNodeId="4814529844379614907" resolveInfo="namedTypes" />
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614947">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614948">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614949">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614950">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614951">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614952">
                <link role="conceptDeclaration" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379614953" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379614954">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614955">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379614956">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379614957">
                <property name="name" value="choiceType" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379614958">
                  <link role="concept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
                </node>
                <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379614959">
                  <link role="concept" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614960">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614961">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379614962">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379614963">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379614964">
                <property name="name" value="namedTypes" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379614965">
                  <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                </node>
                <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379614966">
                  <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="4814529844379614967">
                    <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379614968">
                      <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614969">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614970">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614971">
                  <link role="variableDeclaration" targetNodeId="4814529844379614964" resolveInfo="namedTypes" />
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="4814529844379614972">
                  <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614973">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614974">
                      <link role="variableDeclaration" targetNodeId="4814529844379614957" resolveInfo="choiceType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4814529844379614975">
                      <link role="link" targetNodeId="1.8251251793611799888" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.collections.structure.ForEachStatement" id="4814529844379614976">
              <node role="variable" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariable" id="4814529844379614977">
                <property name="name" value="additionAlternative" />
              </node>
              <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614978">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614979">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614980">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614981">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379614982">
                        <link role="variableDeclaration" targetNodeId="4814529844379614964" resolveInfo="namedTypes" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" id="4814529844379614983">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614984">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614985">
                            <node role="operand" type="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" id="4814529844379614986">
                              <link role="variable" targetNodeId="4814529844379614977" resolveInfo="additionAlternative" />
                            </node>
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4814529844379614987">
                              <link role="link" targetNodeId="1.8251251793611812094" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" id="4814529844379614988">
                            <node role="closure" type="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" id="4814529844379614989">
                              <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379614990">
                                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379614991">
                                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379614992">
                                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="4814529844379614993">
                                      <link role="variableDeclaration" targetNodeId="4814529844379614996" resolveInfo="it" />
                                    </node>
                                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379614994">
                                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379614995">
                                        <link role="conceptDeclaration" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                                      </node>
                                    </node>
                                  </node>
                                </node>
                              </node>
                              <node role="parameter" type="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" id="4814529844379614996">
                                <property name="name" value="it" />
                                <node role="type" type="jetbrains.mps.baseLanguage.structure.WildCardType" id="4814529844379614997" />
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" id="4814529844379614998">
                      <node role="closure" type="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" id="4814529844379614999">
                        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379615000">
                          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379615001">
                            <node role="expression" type="jetbrains.mps.baseLanguage.structure.CastExpression" id="4814529844379615002">
                              <node role="expression" type="jetbrains.mps.baseLanguage.structure.ParameterReference" id="4814529844379615003">
                                <link role="variableDeclaration" targetNodeId="4814529844379615005" resolveInfo="it" />
                              </node>
                              <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379615004">
                                <link role="concept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                              </node>
                            </node>
                          </node>
                        </node>
                        <node role="parameter" type="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" id="4814529844379615005">
                          <property name="name" value="it" />
                          <node role="type" type="jetbrains.mps.baseLanguage.structure.WildCardType" id="4814529844379615006" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="inputSequence" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615007">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615008">
                  <link role="variableDeclaration" targetNodeId="4814529844379614957" resolveInfo="choiceType" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4814529844379615009">
                  <link role="link" targetNodeId="1.8251251793611812091" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379615010">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615011">
                <link role="variableDeclaration" targetNodeId="4814529844379614964" resolveInfo="namedTypes" />
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615012">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615013">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615014">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615015">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379615016">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379615017">
                <link role="conceptDeclaration" targetNodeId="1.7401774347126901161" resolveInfo="ChoiceType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615018" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379615019">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379615020">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379615021">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379615022">
                <property name="name" value="collectionOfType" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379615023">
                  <link role="concept" targetNodeId="1.1048767958318909864" resolveInfo="ICollectionOfType" />
                </node>
                <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379615024">
                  <link role="concept" targetNodeId="1.1048767958318909864" resolveInfo="ICollectionOfType" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615025">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615026">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615027">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615028" />
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379615029">
              <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379615030">
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379615031">
                  <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379615032">
                    <property name="name" value="namedTypes" />
                    <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379615033">
                      <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                    </node>
                    <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4814529844379615034">
                      <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeListCreator" id="4814529844379615035">
                        <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeListType" id="4814529844379615036">
                          <link role="elementConcept" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4814529844379615037">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615038">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615039">
                      <link role="variableDeclaration" targetNodeId="4814529844379615032" resolveInfo="namedTypes" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="4814529844379615040">
                      <node role="argument" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615041">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615042">
                          <link role="variableDeclaration" targetNodeId="4814529844379615022" resolveInfo="collectionOfType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379615043">
                          <link role="link" targetNodeId="1.1048767958318909865" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379615044">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615045">
                    <link role="variableDeclaration" targetNodeId="4814529844379615032" resolveInfo="namedTypes" />
                  </node>
                </node>
              </node>
              <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615046">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615047">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615048">
                    <link role="variableDeclaration" targetNodeId="4814529844379615022" resolveInfo="collectionOfType" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4814529844379615049">
                    <link role="link" targetNodeId="1.1048767958318909865" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="4814529844379615050" />
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615051">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615052">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615053">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615054">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379615055">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379615056">
                <link role="conceptDeclaration" targetNodeId="1.1048767958318909864" resolveInfo="ICollectionOfType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615057" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="4814529844379615058">
          <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4814529844379615059">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4814529844379615060">
              <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4814529844379615061">
                <property name="name" value="realType" />
                <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4814529844379615062">
                  <link role="concept" targetNodeId="1.8702535492065480015" resolveInfo="RealType" />
                </node>
                <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="4814529844379615063">
                  <link role="concept" targetNodeId="1.8702535492065480015" resolveInfo="RealType" />
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615064">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615065">
                      <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615066">
                      <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379615067">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615068">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615069">
                  <link role="variableDeclaration" targetNodeId="4814529844379615061" resolveInfo="realType" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4814529844379615070">
                  <link role="link" targetNodeId="1.2892697590861740961" />
                </node>
              </node>
            </node>
          </node>
          <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615071">
            <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4814529844379615072">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4814529844379615073">
                <link role="variableDeclaration" targetNodeId="4814529844379615365" resolveInfo="refType" />
              </node>
              <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="4814529844379615074">
                <link role="baseMethodDeclaration" targetNodeId="3v.5089156505954230152" resolveInfo="get" />
              </node>
            </node>
            <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4814529844379615075">
              <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4814529844379615076">
                <link role="conceptDeclaration" targetNodeId="1.8702535492065480015" resolveInfo="RealType" />
              </node>
            </node>
          </node>
        </node>
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="4814529844379615553" />
        <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4814529844379615555">
          <node role="expression" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4814529844379615557" />
        </node>
      </node>
    </node>
  </node>
</model>

